Android性能優化

Android性能優化有多種方式,在多個方面都有體現:緩存

  • 佈局優化:佈局優化的思想就是減小布局的層級,使用<include/>, <merge/> , <ViewStub/>來優化佈局。性能優化

  • 繪製優化:繪製優化是指在ViewonDraw()方法內避免執行大量的操做。不要在在onDraw()方法內建立大量的局部對象,這不只會佔用過多內存還會頻繁gc,下降程序的效率;不要在onDraw()方法內執行耗時操做,繪製時間要保持在16ms之內,防止界面卡頓。異步

  • 內存泄漏優化:內存泄漏,是指一段內存在該釋放的時候卻得不到釋放,致使App內內存越用越少。一,靜態變量致使的內存泄漏,靜態變量的生命週期是整個程序的生命週期,因此不要讓靜態變量引用生命週期比程序生命週期短的對象;二,單例模式致使的內存泄漏,單例模式對象引用局部對象致使內存泄漏;三,屬性動畫或線程致使的內存泄漏,屬性動畫和線程不去主動中止,會一直執行下去的,要在適當的時候中止屬性動畫和線程。佈局

  • 響應速度優化和ANR:響應速度優化是指避免在主線程作耗時操做,由於操做都是在主線程響應的 ;解決ANR問題,若是不能在代碼中找到致使ANR的緣由,則能夠分析traces.txt找到緣由,traces.txt文件會記錄致使ANR的緣由的。性能

  • ListViewBitmap優化:ListView採用convertView+ViewHolder緩存策略,來避免在getView()中執行耗時操做,三級緩存,異步加載,不要在滑動的時候去加載圖片,開啓硬件加速,來加速渲染;Bitmap的優化則是加載壓縮後的Bitmap,採樣率。優化

  • 線程優化:不要開啓大量線程,採用線程池。動畫

參考 《Android開發藝術探索》線程

相關文章
相關標籤/搜索