合理的管理內存算法
- 節制地使用Service,儘可能使用IntentService
- 避免在Bitmap上浪費內存,壓縮圖片處理
- 謹慎使用抽象編程
- 儘可能避免會用依賴注入框架
- 使用ProGuard簡化代碼,好處:混淆、壓縮、優化。
- 學會使用分析內存使用狀況,避免內存泄露的問題。
- 使用優化過的數據集合
- SparseArray就避免掉了基本數據類型轉換成對象數據類型的時間,傳統Java API中提供的集合類會相對比較低效
高性能的編碼優化編程
- 避免建立沒必要要的對象
- 當設計字符串拼接時,使用StringBuild(線程非安全,效率較高)和StringBuffer(線程安全,效率略低)代替String
- 當返回的String須要拼接是,直接返回StringBuild或StringBuffer代替
- 儘可能使用基本數據類來代替封裝數據類型,更高效。
- 對常量使用static final修飾符,效率更高。
- 使用工具類調用靜態方法實現通用的功能是一種效率較高的作法。
- 使用for-each循環方法
- 避免使用內部Getter和Setter方法
- 多使用系統封裝好的API
注:以上優化技巧只屬於良好的編碼習慣,對性能提高起到「微優化」,使用合適的算法與數據結構將永遠是你優化程序性能的最主要手段。數組
佈局優化技巧安全
- 儘可能避免嵌套佈局
- 重用佈局文件,優先使用merge避免引入嵌套佈局。
- 僅在須要時才加載的佈局使用ViewStub更合理,不過會增長一層無用的佈局,權衡使用。