Android性能優化總結

合理的管理內存算法

  • 節制地使用Service,儘可能使用IntentService
  • 避免在Bitmap上浪費內存,壓縮圖片處理
  • 謹慎使用抽象編程
  • 儘可能避免會用依賴注入框架
  • 使用ProGuard簡化代碼,好處:混淆、壓縮、優化。
  • 學會使用分析內存使用狀況,避免內存泄露的問題。
  • 使用優化過的數據集合
    • SparseArray就避免掉了基本數據類型轉換成對象數據類型的時間,傳統Java API中提供的集合類會相對比較低效

高性能的編碼優化編程

  • 避免建立沒必要要的對象  
    • 當設計字符串拼接時,使用StringBuild(線程非安全,效率較高)和StringBuffer(線程安全,效率略低)代替String
    • 當返回的String須要拼接是,直接返回StringBuild或StringBuffer代替
    • 儘可能使用基本數據類來代替封裝數據類型,更高效。
  • 對常量使用static final修飾符,效率更高。
  • 使用工具類調用靜態方法實現通用的功能是一種效率較高的作法。
  • 使用for-each循環方法
  • 避免使用內部Getter和Setter方法
  • 多使用系統封裝好的API
    • System.arraycopy()進行數組拷貝

    注:以上優化技巧只屬於良好的編碼習慣,對性能提高起到「微優化」,使用合適的算法與數據結構將永遠是你優化程序性能的最主要手段。數組

佈局優化技巧安全

  • 儘可能避免嵌套佈局
    • 複雜的佈局優先使用RelativeLayout
  • 重用佈局文件,優先使用merge避免引入嵌套佈局。
  • 僅在須要時才加載的佈局使用ViewStub更合理,不過會增長一層無用的佈局,權衡使用。
相關文章
相關標籤/搜索