uniapp效能優化建議

2022-01-19 23:43:30 字數 1547 閱讀 8873

1、長列表中如果每個item有乙個點贊按鈕,點選後點贊數字+1,此時點讚元件必須是乙個單獨引用的元件,才能做到差量資料更新,否則會造成整個列表資料過載。

2、長列表中每個item並不一定需要做成元件,取決於你的業務中是否需要差量更新某一行item的資料,如沒有此類需求則不應該引入大量元件。(點選item後背景變色,屬於css調整,沒有更新data資料和渲染,不涉及這個問題)

我們看一下這個優化示例的核心思路:

優化前:

//

badfor="

(item,index) in list

" :key="

index

" :icon="

item.icon

" :title="

item.title

" :detail="

item.detail

">

下面是優化後的核心內容:

//

good

for="

(item,index) in section

" :key="

index

" :begin="

item.begin

" :end="

item.end

">

import mysection

from

'./my-section.vue'//

my-section.vue

for="

(item,index) in list

" :key="

index

" :icon="

item.icon

" :title="

item.title

" :detail="

item.detail

">

created()

說一下其優化思路就是:將本來在乙個元件內的資料,分布在多個元件內,避免乙個元件內的資料量太大導致diff和同步到檢視層耗時太多。

比如乙個元件內的100條資料,變成了10個元件內的10條資料,將變更限制了再10條一組的資料元件內。

頁面初始化時,邏輯層如果一次性向檢視層傳遞很大的資料,使檢視層一次性渲染大量節點,可能造成通訊變慢、頁面切換卡頓,所以建議以區域性更新頁面的方式渲染頁面。如:服務端返回100條資料,可進行分批載入,一次載入50條,500ms 後進行下一次載入。

深層巢狀的節點在頁面初始化構建時往往需要更多的記憶體占用,並且在遍歷節點時也會更慢些,所以建議減少深層的節點巢狀。

有些nvue頁面在android低端機上初次渲染時,會看到從上到下的渲染過程,這往往都是因為元件過多導致的。每個元件渲染時都會觸發一次通訊,太多元件就會阻塞通訊。

1、如果是新頁面進入時背景閃白

"

style

":

}

另外nvue頁面不存在此問題,也可以更改為nvue頁面。

2、如果是老頁面消失時背景閃白

優化建議 儲存效能優化。

在 應用中,海量的資料讀寫對磁碟訪問造成巨大壓力,雖然可以通過cache解決一部分資料讀壓力,但是很多時候,磁碟仍然是系統最嚴重的瓶頸。而且磁碟中儲存的資料是 最重要的資產,磁碟的可用性和容錯性也至關重要。機械硬碟是目前最常用的一種硬碟,通過馬達驅動磁頭臂,帶動磁頭到指定的磁碟位置訪問資料,由於每次...

React Native 效能優化建議

react native 雖然一直標榜媲美native的體驗,但實際使用下來,其渲染性還是非常低效,基於scrollview和listview兩大容器,在渲染上,相當於web端的table布局,需要等整個大table渲染完成才顯示頁面,也就是說,當容器內有大量的子元素,其白屏時間會非常長。如何讓re...

Android效能優化建議

android效能優化主要從卡頓 記憶體洩漏和崩潰 質量和邏輯 安裝包過大四方面入手。在使用時避免出現卡頓,響應速度快,減少使用者等待的時間,滿足使用者期望 同時減低 crash 率和 anr 率,不要在使用者使用過程中崩潰和無響應 節省流量和耗電,減少使用者使用成本,避免使用時導致手機發燙 安裝包...