Android性能优化_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android性能优化

Android性能优化

 2017/6/29 5:31:10  走过我的孩子气  程序员俱乐部  我要评论(0)
  • 摘要:布局优化UI渲染机制,系统每次渲染时间(所有程序逻辑)保持在16ms内。检测UI渲染时间的工具->>开发者选项-ProfileGPURending。View的onDraw方法中不要做耗时任务,也不能执行成千上万次的循环操作。避免Overdraw,->>EnableGPUOverdraw优化布局层级,View树高度不超过10避免嵌套过多无用布局对于一些共通的UI,使用<include>标签重用Layout使用<ViewStub>
  • 标签:android 性能优化 优化
  1. 布局优化
    1. UI渲染机制,系统每次渲染时间(所有程序逻辑)保持在16ms内。检测UI渲染时间的工具->>开发者选项-Profile GPU Rending。View的onDraw方法中不要做耗时任务,也不能执行成千上万次的循环操作。
    2. 避免Overdraw, ->> Enable GPU Overdraw
    3. 优化布局层级,View树高度不超过10
    4. 避免嵌套过多无用布局
      1. 对于一些共通 的UI,使用<include>标签重用Layout
      2. 使用<ViewStub>实现View的延迟加载
    5. Hierarchy Viewer工具的使用 ->>之后可查看官方API文档
  2. 内存优化
    1. bitmap优化
      • 使用适当分辨率和大小的图片:图片分辨率-资源文件夹
      • 及时回收内存:bitmap.recycle() Android3.0后不需要释放了
      • 使用图片缓存:内存缓存,硬盘缓存
    2. 代码优化
      • 对常量使用static修饰符
      • 使用静态方法,能够比普通方法提高15%左右的访问速度
      • 减少不必要的成员变量,这点在Android Lint工具上已经集成检测,如果一个变量可以定义为局部变量,则会建议你不要定义为成员变量【用完就扔?
      • 尽量不要使用枚举,少用迭代器
      • 对Cursor、Receiver、Sensor、File等对象,要非常注意对它们的创建、回收与注册、解注册。
      • 避免使用IOC框架,IOC通常使用注解、反射来进行实现,大量使用反射会带来性能的下降
      • 使用RenderScript,OpenGL来进行非常复杂的绘图操作
      • 使用SurfaceView来替代View进行大量,频繁的绘图操作【如二维码扫描
      • 尽量使用视图缓存,而不是每次都执行inflate()方法解析视图
  3. Lint工具:提示冗余布局
  4. Memory Monitor工具:对内存进行实时分析
  5. 使用TraceView工具优化App性能【需要具体学习应用】p241
  6. 使用MAT工具分析App内存状态【需要具体学习应用】p244
  7. 使用Dumpsys命令分析系统状态p247
发表评论
用户名: 匿名