Android應用程序性能優化

 應用程序的性能問題體如今不少方面, 好比第一次啓動速度慢,或者進入某一界面速度慢;動畫執行過程不流暢,或者動畫執行卡頓時間長;ListView列表滑動過程當中卡頓,不流暢;應用程序自定義的某特定界面執行速度慢;響應某一用戶事件時長時間無響應(ANR);操做數據庫時,執行大量數據的增刪改查操做,執行速度慢;文件讀寫頻繁,緩存文件過大致使卡頓;應用長時間運行後,隨機出現卡頓現象。算法

一方面,編程思想。數據庫

  1. 1.     瞭解編程語言的編譯原理,使用高效編碼方式從語法上提升程序性能; 
  2. 2.     採用合理的數據結構和算法提升程序性能,這每每是決定程序性能的關鍵; 
  3. 3.     重視界面佈局優化; 
  4. 4.     採用多線程、緩存數據、延遲加載、提早加載等手段,解決嚴重的性能瓶頸; 
  5. 5.     合理配置虛擬機堆內存使用上限和使用率,減小垃圾回收頻率; 
  6. 6.     合理使用native代碼; 
  7. 7.     合理配置數據庫緩存類型和優化SQL語句加快讀取速度,使用事務加快寫入速度; 
  8. 8.     使用工具分析性能問題,找出性能瓶頸;

另外一方面,編程技巧。編程

  1. 1.     避免建立沒必要要的對象 
  2. 2.     合理使用static成員 
  3. 3.     避免內部的Getters/Setters 
  4. 4.     使用加強for循環 
  5. 5.     使用package代替private以便私有內部類高效訪問外部類成員
  6. 6.     合理使用浮點類型 
  7. 7.     採用<merge>優化佈局層數。 採用<include來共享佈局。
  8. 8.     延時加載View. 採用ViewStub 避免一些不常常的視圖長期被引用,佔用內存.
  9. 9.     移除Activity默認背景,提高activity加載速度。
  10. 10.   cursor 的使用。
  11. 11.   廣播BroadCast動態註冊時,記得要在調用者生命週期結束時unregisterReceiver,防止內存泄漏。
  12. 12.   針對ListView的性能優化
  13. 13.   注意使用線程的同步機制(synchronized),防止多個線程同時訪問一個對象時發生異常。
  14. 14.   合理使用StringBuffer,StringBuilder,String 
  15. 15.   儘可能使用局部變量
  16. 16.   I/O流操做記得及時關閉流對象。
  17. 17.   使用IntentService代替Service
  18. 18.   使用Application Context代替Activity中的Context 
  19. 19.   集合中的對象要及時清理 
  20. 20.   Bitmap的使用
  21. 21.   巧妙的運用軟引用(SoftRefrence)
  22. 22.   儘可能不要使用整張的大圖做爲資源文件,儘可能使用9path圖片
  23. 23.   瞭解並使用庫函數 
相關文章
相關標籤/搜索