91亚洲精华国内精华精华液_国产高清在线精品一区不卡_精品特级一级毛片免费观看_欧美日韩中文制服有码_亚洲精品无码你懂的网站369


頻繁setData(毫秒級)后果

Android 下用戶在滑動時會感覺到卡頓,操作反饋延遲嚴(yán)重,因?yàn)?JS 線程一直在編譯執(zhí)行渲染,未能及時將用戶操作事件傳遞到邏輯層,邏輯層亦無法及時將操作處理結(jié)果及時傳遞到視圖層

渲染有出現(xiàn)延時,由于 WebView 的 JS 線程一直處于忙碌狀態(tài),邏輯層到頁面層的通信耗時上升,視圖層收到的數(shù)據(jù)消息時距離發(fā)出時間已經(jīng)過去了幾百毫秒,渲染的結(jié)果并不實(shí)時

每次 setData 都傳遞大量新數(shù)據(jù)

數(shù)據(jù)傳輸實(shí)際是一次 evaluateJavascript 腳本過程,當(dāng)數(shù)據(jù)量過大時會增加腳本的編譯執(zhí)行時間,占用 WebView JS 線程

后臺態(tài)頁面進(jìn)行 setData

當(dāng)頁面進(jìn)入后臺態(tài)(用戶不可見),不應(yīng)該繼續(xù)去進(jìn)行setData,后臺態(tài)頁面的渲染用戶是無法感受的,另外后臺態(tài)頁面去setData也會搶占前臺頁面的執(zhí)行

建議

不要頻繁調(diào)用setData, 盡量合并到一次setData調(diào)用

傳輸數(shù)據(jù)量跟通信性能有關(guān),盡量少于64k,避免一些不需要在頁面展示的復(fù)雜數(shù)據(jù)結(jié)構(gòu)或者長字符串

與界面無關(guān)的數(shù)據(jù)最好不要設(shè)置在data中

去掉不必要的事件綁定,減少通信的數(shù)據(jù)量以及次數(shù)

不要在節(jié)點(diǎn)data前綴放置過大數(shù)據(jù)(需要傳輸target的currentTarget和dataset)

圖片優(yōu)化
圖片資源

主要性能問題在于大圖片和長列表圖片上,這兩種情況都有可能導(dǎo)致 iOS 客戶端內(nèi)存占用上升,從而觸發(fā)系統(tǒng)回收小程序頁面

圖片對內(nèi)存的影響

在 iOS 上,小程序的頁面是由多個 WKWebView 組成的,在系統(tǒng)內(nèi)存緊張時,會回收掉一部分 WKWebView。從過去我們分析的案例來看,大圖片和長列表圖片的使用會引起 WKWebView 的回收

圖片對頁面切換的影響

大圖片也會造成頁面切換的卡頓。我們分析過的案例中,有一部分小程序會在頁面中引用大圖片,在頁面后退切換中會出現(xiàn)掉幀卡頓的情況.建議開發(fā)者盡量減少使用大圖片資源

代碼包大小的優(yōu)化
有必要盡量減少代碼包的大小,因?yàn)榇a包大小直接影響到下載速度,從而影響用戶的首次打開體驗(yàn)。除了代碼自身的重構(gòu)優(yōu)化外,還可以從這兩方面著手優(yōu)化代碼大?。?br />
控制代碼包內(nèi)圖片資源

小程序代碼包經(jīng)過編譯后,會放在微信的 CDN 上供用戶下載,CDN 開啟了 GZIP 壓縮,所以用戶下載的是壓縮后的 GZIP 包,其大小比代碼包原體積會更小。 但我們分析數(shù)據(jù)發(fā)現(xiàn),不同小程序之間的代碼包壓縮比差異也挺大的,部分可以達(dá)到 30%,而部分只有 80%,而造成這部分差異的一個原因,就是圖片資源的使用。GZIP 對基于文本資源的壓縮效果最好,在壓縮較大文件時往往可高達(dá) 70%-80% 的壓縮率,而如果對已經(jīng)壓縮的資源(例如大多數(shù)的圖片格式)則效果甚微

及時清理沒有使用到的代碼和資源

在日常開發(fā)的時候,我們可能引入了一些新的庫文件,而過了一段時間后,由于各種原因又不再使用這個庫了,我們常常會只是去掉了代碼里的引用,而忘記刪掉這類庫文件了。目前小程序打包是會將工程下所有文件都打入代碼包內(nèi),也就是說,這些沒有被實(shí)際使用到的庫文件和資源也會被打入到代碼包里,從而影響到整體代碼包的大小

穩(wěn)定

產(chǎn)品高可用性高并發(fā)

貼心

項(xiàng)目群及時溝通

專業(yè)

產(chǎn)品經(jīng)理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽(yù)

堅(jiān)持

10年專注高端品質(zhì)開發(fā)
  • 返回頂部