搜索
您的当前位置:首页正文

Android优化

来源:哗拓教育
Android优化
  • 压缩APK文件
  • 优化UI
  • 内存优化
  • 优化代码
    • 查看代码逻辑,提取通用代码
    • 设计模式

压缩APK文件

  • Android studio分析删除无用资源
  • 压缩图片
    • 压缩:一般背景图几百k,icon最多几k,工具。
    • 图片适配:因为Android各种机型就需要适配不同机型,图片就需要加载多套密度的图片。建议只适配一种分辨率的如:xhdp或者xxhdpi的,减少图片大小。也有相关建议。
      适配
  • 混淆编译,编译后删除多余方法

  • Merge,include重用布局文件
  • 使用ViewStub仅在需要时才加载布局
  • 减少不必要的层次:巧用Hierarchy Viewer
  • 去除不必要的背景,减少过度绘制
  • 尽量多使用 ConstraintLayout、RelativeLayout、LinearLayout

内存优化

  • handler内存泄漏
  • 内存抖动

代码优化

  • :用代理模式优化单继承问题
  • (需要翻墙)
    面向对象中封装的思想是不要把类内部的字段暴露给外部,而是提供特定的方法来允许外部操作相应类的内部字段。但在Android中,字段搜寻比方法调用效率高得多,我们直接访问某个字段可能要比通过getters方法来去访问这个字段快3到7倍。但是编写代码还是要按照面向对象思维的,我们应该在能优化的地方进行优化,比如避免在内部调用getters/setters方法。
  • 数据量千级以内或者简单配置文件信息使用SparseArray或ArrayMap代替HashMap

SparseArray使用两个数组,一个int数组保存key为int,一个object数组保存values。使用deleted字符来替代删除的value,最后在一起gc。ArrayMap使用两个数组,一个hash数组,一个object数组,奇数保存key,偶数保存value。

  • WebView性能优化
Top