Android中的性能优化

文章参考:

微信公众号:AndroidDeveloper—-Android性能优化总结

性能指标:
1.布局复杂度
2.耗电量
3.内存
4.网络
5.程序执行效率

一、布局复杂度的优化

  1. 实现相同界面效果并且层级结构相同时,选用何种Layout最好
    FramLayoiut>LinearLayout>RelativeLayout
    参考连接:Android中RelativeLayout与LinearLayout的性能分析
    小结:

  2. RelativeLayout会让子View调用两次onMeasure(),而LinearLayout只有在有weight属性时,才会这样

  3. RelativeLayout的子View的高度如果和RelativeLayout不一致,则会导致效率问题,子View越复杂越严重。所以如果可以,尽量使用padding代替margin
  4. 尽量使用组合控件,如图片和文字的结合
  5. 减少布局的层级结构
    • 两个工具
      • HierarchyViewer: SDK中的tools目录下
      • 无线UIViewer:一款app,手机版的HierarchyViewer
    • include标签:适用于复用性高的xml
    • merge标签:父布局和子部局的根布局是同一布局时,可以将子部局的根布局替换成merge
    • ViewStub:这是一个延迟加载的布局,只有手动设置Visibility或者inflate的时候,才会真正绘制

二、GPU过度绘制

  1. 定义:在屏幕的同一个像素上绘制多次
  2. 分析:过度绘制其实是性能和设计的一个交叉点。一般来说,视觉效果越华丽,过度绘制就会越严重。
  3. 检测:在手机端,设置–开发者模式–调试GPU过度绘制–显示过度绘制区域
  4. 优化方法:
    • 减少没有必要的背景
    • 使用ViewStub,减少View的绘制
    • 可能的话,动态的inflate布局
    • 减少Layout的层级

Android中耗电量的测试

这个个人认为,只能靠优化代码逻辑,减少不必要的调用系统资源,如音频,视频等等

内存

  1. LeakCanary:一个检测内存泄露的开源类库,非常强大
  2. GT:腾讯出的一款检测app性能的app,需要你的项目先集成它,才能使用,也是功能很全面强大
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值