Android性能优化

Author Avatar
Chirs 7月 25, 2016

性能优化的本质

Android的性能优化本质是优化系统的响应时间和提高TPS(每秒处理的事务数).

性能优化的方式

  • 1.降低执行时间
    • a.利用多线程并发或者分布式提高TPS
    • b.缓存(包括对象缓存 IO缓存 网络缓存等)
    • c. 数据结构和算法优化
    • d.性能更优的底层接口调用.如JNI实现
    • e.逻辑优化
    • f.需求优化
  • 2.同步改异步
  • 3.提前或者延迟操作(错峰提高TPS)

    性能优化之布局优化

  • 1.布局标签
    • <include>标签
    • <viewstub>标签
      viewstub标签同include标签一样可以用来引入一个外部布局,不同的是,viewstub引入的布局默认不会扩张,即既不会占用显示也不会占用位置,从而在解析layout时节省cpu和内存。 viewstub常用来引入那些默认不会显示,只在特殊情况下显示的布局,如进度布局、网络失败显示的刷新布局、信息出错出现的提示布局等。
    • <merge>标签
  • 2.去除不必要的嵌套和View节点(隐藏不展示的布局GONE)
  • 3.减少不必要的inflate
    • ListVew缓存
  • 4.其他点
    • 用SurfaceView(不能被改变)或TextrueView(能够被改变)可以通过将绘图操作移动到另一个单独线程上提高性能
    • 使用OpenGL绘制
    • 尽量为所有分辨率创建资源 (减少不必要的缩放,这样会降低UI绘制速度)
  • 5布局调优工具

    • hierarchy viewer

    性能优化之布Java(Android)代码优化

  • 以下是网络优化中一些客户端和服务器端需要尽量遵守的准则:
    • a. 图片必须缓存,最好根据机型做图片做图片适配
    • b. 所有http请求必须添加httptimeout
    • c. 开启gzip压缩
    • d. api接口数据以json格式返回,而不是xml或html
    • e. 根据http头信息中的Cache-Control及expires域确定是否缓存请求结果。
    • f. 确定网络请求的connection是否keep-alive
    • g. 减少网络请求次数,服务器端适当做请求合并。
    • h. 减少重定向次数
    • i. api接口服务器端响应时间不超过100ms