短視頻app開發(fā),老生常談的系統(tǒng)卡頓問(wèn)題
卡頓是以用戶視角感受到的界面運(yùn)行不流暢,在短視頻app開發(fā)中卡頓的常見形式有很多,像視頻加載慢、畫面卡死、聲音卡頓、交互響應(yīng)慢、黑屏等。但凡出現(xiàn)一種都會(huì)對(duì)用戶的使用體驗(yàn)造成影響。

一、造成卡頓的原因
1、渲染流程
在短視頻app開發(fā)的渲染流程中,造成卡頓的原因還是有很多的,像消息調(diào)度、動(dòng)畫處理、byffer交換、GPU處理等,只有在明確原因之后才能采取合適的手段進(jìn)行卡頓優(yōu)化。
2、系統(tǒng)負(fù)載
在短視頻app開發(fā)中內(nèi)存、CPU、GPU、功耗/發(fā)熱等性能均是造成系統(tǒng)卡頓的重要原因。
3、視頻流
在完整視頻流中,像渲染、解碼、網(wǎng)絡(luò)、推流等也是造成系統(tǒng)卡頓的主要因素。
4、開發(fā)習(xí)慣
在語(yǔ)音短視頻app開發(fā)中,像布局太亂、層級(jí)太深、過(guò)度繪制、主線程耗時(shí)操作等不良的開發(fā)習(xí)慣也會(huì)導(dǎo)致卡頓情況的發(fā)生。
二、卡頓優(yōu)化常用方式
1、減少執(zhí)行次數(shù)
在短視頻app開發(fā)的滑動(dòng)場(chǎng)景下可以實(shí)現(xiàn)GC抑制,通過(guò)該技術(shù)提升用戶上下滑動(dòng)的使用體驗(yàn)。
2、代碼下線
對(duì)于短視頻app開發(fā)中那些老的框架、沒(méi)有用處的邏輯等均進(jìn)行下線處理,實(shí)現(xiàn)代碼優(yōu)化后可以讓系統(tǒng)運(yùn)行速度加快,減少卡頓情況的發(fā)生。

3、解決耗時(shí)函數(shù)
在短視頻app開發(fā)中解決耗時(shí)函數(shù)的主要方式有兩種,一種是打散,一種是異步。
(1)所謂的打散其實(shí)就是進(jìn)行某些函數(shù)的拆分,以此減輕渲染幀的耗時(shí)壓力。
(2)所謂的異步其實(shí)就是將系統(tǒng)中某些需要執(zhí)行的事務(wù)延遲或提前執(zhí)行,以此來(lái)解決卡頓問(wèn)題。
4、硬件加速
主要是指在短視頻app開發(fā)中提升硬件的性能,從底層實(shí)現(xiàn)系統(tǒng)性能的優(yōu)化,進(jìn)而提升用戶的使用體驗(yàn)。
5、降低CPU消耗
主要從兩個(gè)方面入手,其一是避免使用不必要的操作,其二是將必需的操作后置執(zhí)行。
6、降低GPU消耗
像紋理的渲染、視圖的混合、圖像的繪制等均會(huì)增加GPU的消耗,在短視頻app開發(fā)中需要根據(jù)具體原因采取對(duì)應(yīng)的解決方案。

卡頓是短視頻app開發(fā)時(shí)老生常談的一個(gè)話題,為了降低卡頓的出現(xiàn)頻率,開發(fā)者也進(jìn)行了多方面的探索,總結(jié)了大量的優(yōu)化策略和解決方案,我們需要將這些策略和方案利用起來(lái),以保證系統(tǒng)能夠?yàn)橛脩籼峁└哔|(zhì)量的服務(wù)。
聲明:本文由云豹科技原創(chuàng),轉(zhuǎn)載請(qǐng)注明作者名及原文鏈接,否則視為侵權(quán)