2 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊
其實(shí)不太確定你說(shuō)的卡頓具體是哪種情況,不過(guò)就我接觸過(guò)的基本上有以下集中可能,僅供參考:
初始化卡頓: 這種情況主要是js bundle的加載需要一定的時(shí)間,而這種情況可以考慮對(duì)需要顯示的react native頁(yè)面所屬的工程進(jìn)行代碼拆分,避免一次性加載全部的bundle,而是按需進(jìn)行加載,保證首屏顯示需要加載的bundle文件盡可能的小;另外一種方案就是預(yù)先加載bundle;
頁(yè)面操作卡頓: 用戶(hù)在頁(yè)面進(jìn)行操作的時(shí)候,反映出來(lái)的頁(yè)面刷新卡頓,這種情況可以考慮使用組件化以及immuatable的方式進(jìn)行頁(yè)面的實(shí)現(xiàn),同時(shí),也可以從react的生命周期函數(shù)入手進(jìn)行優(yōu)化,比如: shouldComponentUpdate方法;
動(dòng)畫(huà)卡頓: 如果你的頁(yè)面存在一些動(dòng)畫(huà),那么可以考慮在實(shí)現(xiàn)動(dòng)畫(huà)函數(shù)的時(shí)候設(shè)置
useNativeDriver:true
來(lái)將動(dòng)畫(huà)的渲染轉(zhuǎn)移到native執(zhí)行;

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
組件化局部更新+immutable不可變數(shù)據(jù)類(lèi)型 可以解決大部分問(wèn)題。
- 2 回答
- 0 關(guān)注
- 829 瀏覽
添加回答
舉報(bào)