Android開發建議

2021-07-30 05:43:30 字數 1264 閱讀 3522

1:布局優化

1.1減少布局巢狀的層級,刪除無用的group

螢幕資訊的顯示過程就像是樹的層級遍歷的過程,先畫最底層,然後逐層往上畫。那麼,樹高過大顯然是不利於效能的,

1.2include

使用include標籤將乙個指定的布局檔案加到當前的布局檔案中。

1.3merge

常與include組合使用,可刪除多餘的檢視組。

1.4viewstep

viewstep大小為零,本身不參與任何的布局和繪製流程。其意義在於可以按需載入所需的布局檔案。

stub_import為viewstub的id,panel_import是proress_overlay的跟布局id

((viewstub) findviewbyid(r.id.stub_import)).setvisibility(view.visible);  

// or

view importpanel = ((viewstub) findviewbyid(r.id.stub_import)).inflate();

使用時iewstub會被它內部的布局替換掉。

2:繪製優化:

繪製過程嚴禁耗時操作,耗時操作會引起頁面卡頓,降低體驗度。有人說萬一有耗時的任務怎麼辦,後台載入然後非同步通知。

3:記憶體洩漏優化

如靜態變數引起的記憶體洩漏,單例模式引起的記憶體洩漏,屬性動畫引起的記憶體洩漏,handler引起的記憶體洩漏等。

對於handler引起的記憶體洩漏,handler,message,messagequeue是連在一起的,如果handler傳送的訊息未被處理,則handler,訊息將一直呆在訊息佇列中而無法釋放。所以這就很坑了 ,如果handler延遲個十分鐘再發訊息,而activity早早關閉了,handler所在的activity也無法被**。造成記憶體洩漏

解決方案:避免使用非靜態內部裡,使用靜態內部類+軟引用的方式,詳情請檢視

4:listview優化

目前listview,gridview,逐漸被recycleview所替代,但不管是何種view,優化的思路不會過時。在與獲取檢視相關的方法中應盡量避免耗時操作,耗時操作請使用後台載入+非同步重新整理的方式,可以嘗試開啟硬體加速。

5:執行緒優化 

執行緒池能減少多個執行緒建立和銷毀時的記憶體開銷,同時有效的避免因爭搶資源所引起的阻塞現象。池被用來管理內部資源,

關於android中的執行緒池,請檢視

最後mat工具是一款強大的記憶體洩漏分析工具。

Android開發常用技術建議

1.android應用主線程 ui執行緒 中,將網路請求 資料庫操作等耗時的操作從主線程移動到乙個單獨的執行緒中。使用asynctask或者intentservice來建立後台操作。使用intentservice時需要注意以下幾點限制 這個類不要給ui傳遞資訊,使用其他activity來向ui傳資料...

Android遊戲開發初始階段建議

原文出處 獲取sdk 學習應用程式架構 學習activity生命週期 activity生命週期由android作業系統來管理。你的activity建立 恢復 暫停 銷毀都受作業系統的支配。正確處理這些事件是很重要的,這樣應用程式才能表現良好,做使用者認為正確的事。在你設計你的遊戲之前了解所有這些是如...

給android開發者的幾個建議

1 首先要有良好的編碼習慣 乙個優秀的開發者應該善於運用常識 完善的演算法和標準設計模式。要有資源意識,開啟了就要記得關閉,盡量做到晚獲取,早釋放。這些由來已久的編碼準則同樣適用android應用開發,尤其是使用基礎裝置服務時。2 讓阻塞操作遠離主ui執行緒 通過使用asynctask 執行緒 in...