編輯:關於Android編程
今天終於把《Android應用性能優化》這本書詳讀完了,總結一下學習狀況:
一、Java代碼優化
1、使用優化的算法
2、緩存結果
3、推遲初始化(使用時分配緩存)
4、大量的數據庫操作使用事務處理
二、使用NDK優化性能
1、聲明本地方法
2、實現JNI粘合層(javah)
3、創建Android makefile文件
4、用C/C++實現本地方法
5、編譯本地庫(ndk-bulid)
6、加載本地庫(在初始化時加載)
三、避免內存洩露
1、當被釋放的對象引用仍然存在時就會發生內存洩露
2、使用Heap及Allocation Tracker跟蹤內存使用和分配情況
3、使用StrictMode類檢測Activity洩露、其他對象洩露、對象沒有關閉造成的洩露
四、多線程和同步
1、線程不會檢測到Activity生命周期的變化,所以需要向線程傳遞Activity狀態信息
2、Activity要記住線程運行的狀態
五、性能評測
1、時間測量 System.nanoTime() 、Debug.threadCpuTimeNanos()
2、方法調用追蹤 Debug.startMehodTracing()、使用Traceview工具
六、延長電池續航時間
1、禁用廣播接收器
2、減少數據更新頻率
3、WakeLock,界面顯示時屏幕的亮度調整,是否禁用鎖屏
七、圖形優化
1、布局優化 相對布局、合並布局、重用布局減少布局層數和復雜度,使用ViewStub推遲布局的展開
2、Hierarchy Viewr生成布局結構圖
八、RenderScript
1、用於高性能3D渲染
概述在開發過程中,經常會遇到系統中提供的控件無法滿足產品的設計需求,這時可能就需要考慮使用自定義的View來實現產品的設計細節了。對於自定義View,可以分為兩種,一種是
Android開發中少不了真機調試,總用數據線插插拔拔的還是不方便也不穩定,其實可以實現WIFI的方式連接android手機。 &nbs
背景一個典型的ListView,每個Item顯示一個TextView,代表一個Task,需要實現二個編輯方式:一個是用CheckBox來標識任務已經完成,另一個要實現的編
封面圖: demo效果圖 源碼目錄結構 Features