Android性能优化
性能优化的本质
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