Android效能優化之執行緒優化

2021-08-19 02:18:38 字數 784 閱讀 1787

不能通過非ui執行緒對view進行操作。因為android的ui不是安全的,如果view能被不同的執行緒所訪問或修改,那麼就可能在程式的執行期間,產生不可預期的行為或者併發錯誤。

使用執行緒時,避免在循壞中使用同步,因為獲取和釋放鎖的操作代價很大。會引起cpu資源的損耗。

處理多執行緒以及執行緒間通訊時,使用handlerthread來操作,它內部包裝了looper,記得不用的時候退出/釋放資源哦。

當工作執行緒與ui執行緒之間通訊的時候,推薦使用asynctask(android 7.0後內部任務變成序列處理,不再會出現以前並行時超過任務數執行飽和策略的情況)

當你的service不需要互動時,請使用可以自動停止的intentservice。

當你希望延長broadcastreceiver的生命週期時,例如啟動乙個後台執行緒intentservice。在onreceiver中呼叫broadcastreceiver.goasync(),它會返回乙個pendingresult物件,這時,廣播接收器的生命週期會延長持續到pendingresult.finish()方法呼叫。

執行緒池最好用構造方法手動建立,而不要用executors來直接呼叫工廠方法,這樣利於明白執行緒池的執行規則,避免用了錯誤的執行緒池導致資源耗盡。

給執行緒乙個好聽的名字,除錯時候用。

執行緒池設定執行緒的存活時間,以保證空閒執行緒準確釋放。

end

Android效能調優 繪製優化

4.1 開發者中的 過渡繪製 檢測 4.2 開發者中的 gpu 檢測 5.1 布局優化 1.減少介面巢狀,對於負責的view可以使用constraintlayout 2.使用include復用布局 3.使用merge去除多餘層級 4.使用viewstub提高載入速度 按需才載入 顯示 5.減少不必要...

Android之效能優化

目的 減少布局檔案的層級,減少android繪製時的工作量。方法 刪除布局中無用的控制項和層級 選用效能較低的viewgroup linearlayout,framelayout1.ondraw中不要建立新的區域性物件 2.ondraw中不要做耗時任務 產生記憶體洩漏原因 1.靜態變數導致 2.單例...

Android效能優化之布局優化

在乙個典型的顯示系統中,一般包括cpu gpu和display三個部分 display可以理解為螢幕或者顯示器,cpu是用來計算影象資料的,然後把計算好的資料交給gpu,gpu會對圖形資料進行渲染,再把渲染好的資料存到buffer 快取區 裡面,最後display也就是螢幕負責把buffer裡面的資...