共計 1443 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇“ReactNative 性能優化的方法是什么”文章的知識點大部分人都不太理解,所以丸趣 TV 小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“ReactNative 性能優化的方法是什么”文章吧。
ReactNative 性能優化之路 1. 包精簡
版本對比:
情侶獨立插件:7.2m。
話題圈: 本次 ReactNative 框架移植入 Qzone 整體僅加大了 3.2m。
主要優化點:
1) 去除了小平臺 so 庫。
2) 復用 Qzone support jar。
二期規劃:
1) 在 Qzone 與 ReactNative 中間加 Adapter,使 ReactNative 適配 Qzone 本身網絡庫及圖片庫,可以廢棄 ReactNative 框架的 okhttp 庫及 fresco 庫,減少包大小。
2. 首屏加速與啟動速度
版本對比:
ReactNative 改造后話題圈在 wifi 及緩存優化下,首屏相比 H5 快約 108ms,并且由于 jsbundle 緩存到本地,并且可以實現離線訪問。
ReactNative 話題圈數據:
主要優化點:
1) 更改源碼,新增預初始化接口,在 Qzone Feeds 渲染完成預加載 ReactNative 上下文。
2) 首屏數據需要等前端走網絡請求拉取存本地,H5 優先采用本地數據渲染。
優化前后流程對比:
二期規劃:
1) 目前為控制內存預加載 ReactNative 僅是上下文,打開仍有一部分耗時,這里可以嘗試緩存 View,在打開時直接 addview,達到秒開。
2) 數據預拉取走的為 http 通道,可以使用 wns httpproxy 加速。
3.FPS
版本對比:
H5 話題圈:avgFPS=54
ReactNative 話題圈:avgFPS=52
主要優化點:
1)JS 層使 Listview 控件渲染數據,廢棄使用 ScrollView 控件。
2)DOM 元素設置透明背景。
二期規劃:
目前官方暫提供的 listview 未采用 item 復用邏輯,僅在 item 不可見時置空,RecyclerView 仍是 Test 控件只支持橫向滾動。listview 性能仍需提高,下版本規劃實現高可用 RecyclerView。
4. 內存
版本對比:
情侶空間:無內存泄漏及浪費內存情況,比 H5 版本多約 20%。
話題圈:無內存泄漏及浪費內存情況,與 H5 版本基本持平。
話題圈詳細數據:
主要優化點:
1)JS 層使 Listview 控件渲染數據,廢棄使用 ScrollView 控件。
2) 視頻 VideoView 拆分,VideoCover 交由 H5 實現,Native 對應 Fresco 管理,MideaPlayer 由 Native 實現。
二期規劃:
目前官方暫提供的 listview 未采用 item 復用邏輯,僅在 item 不可見時置空,RecyclerView 仍是 Test 控件只支持橫向滾動。listview 性能仍需提高,下版本規劃實現高可用 RecyclerView。
ReactNative 話題圈與 H5 話題圈整體數據對比
目前 ReactNative 在 Web 與 Native 通信耗時明顯優于 webview 的 jsbridge 方式 (console.log),在高中端機上如 FPS 及 CPU 上表現優于 H5,但是從全局來看,目前 crash,內存,FPS,首屏等均有優化空間,下面是整體對比數據。
以上就是關于“ReactNative 性能優化的方法是什么”這篇文章的內容,相信大家都有了一定的了解,希望丸趣 TV 小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注丸趣 TV 行業資訊頻道。