android 程式優化之查錯篇

2021-06-18 06:02:18 字數 804 閱讀 8022

1.strictmode 

strictmode 是android api 9 引入的乙個類, 能夠幫助開發者 發現**中的一些問題。

它可以設定一些策略,當程式違反這些策略的時候,它會提示開發者。

主要有兩大類策略,乙個是執行緒方面的策略,乙個是vm方面的策略。

執行緒策略方面,它能夠發現ui執行緒讀寫disk,ui執行緒訪問網路,自己寫的速度慢的**

vm策略方面,它能夠發現  activity記憶體洩露, sql 物件記憶體洩露, 資源未釋放,能夠限定某個類的最大物件數

當程式違反這些策略的時候,它會通過一定方式通知開發者,如log等。

具體**如下。

public static void enablestrictmode() 

strictmode.setthreadpolicy(threadpolicybuilder.build());

strictmode.setvmpolicy(vmpolicybuilder.build());

}}

一定不要在release版中使用它,很耗效能的。

if(debug)

2,記憶體分析,檢查記憶體洩露

1,hprof , 它能夠將某一時刻的heap儲存下來,以檢視的方式來檢視heap中的物件數目,物件占用空間,從根到物件的引用鏈。它還能將多個時刻 heap快照進行對比。

2,trace allocation , 它能夠跟蹤記憶體分配情況,將導致記憶體分配的堆疊資訊展示出來。

android 程式優化之節電篇

作為乙個android軟體,太耗電是不可取的,容易遭使用者厭惡。程式做的事情越多,占用cpu時間越多,訪問網路越多,就越耗電。我們要做的,就是在不影響軟體功能,體驗的情況下,盡量能夠省電。1,編寫更有效率的 程式的效率越高,幹同樣多的活,耗電越少。當然,這是要長期幹的事,不節電也要幹的事。2,根據手...

Android布局優化一之設計篇

在專案中遇到了乙個需求,就是模仿系統的選擇應用開啟檔案的彈出框來實現自己的乙個類似的彈出框 要求和系統的一樣,高度可以自適應的變化 系統的如下 最開始的設計思路是,自己用 計算listview的高度,在頁面構建的時候,動態設定進去。不過後面想了下,如果能夠不自己計算高度,不動態設定,是不是效能會好一...

Android效能優化 I O篇

普通方式 public void insertmemberlistnormal listmembermodellist 事務方式 public void insertmemberlistwithtransaction listmembermodellist db.settransactionsucc...