Android 开发高手课
张绍文
前微信高级工程师,Tinker 负责人
52721 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 62 讲
导读 (1讲)
模块一 高质量开发 (25讲)
Android 开发高手课
15
15
1.0x
00:00/00:00
登录|注册

19 | 耗电优化(下):耗电的优化方法与线上监控

插桩
Java Hook
监控内容
不太好用
异常情况监控
符合Android规则
找到需求场景的替代方案
无法评估结果
信息不全,难以定位
缺乏现场,无法复现
符合系统的规则
优化应用的后台耗电
性能优化方法论
如何监控耗电
Android Vitals
耗电优化的方法
耗电优化的难点
什么是耗电优化
课后作业
总结
耗电监控
耗电优化
参考文章
耗电优化与线上监控

该思维导图由 AI 生成,仅供参考

相比启动、卡顿、内存和网络的优化来说,可能大多数应用对耗电优化的关注不是太多。当然并不是我们不想做耗电优化,更多时候是感觉有些无从下手。
不同于启动时间、卡顿率,耗电在线上一直缺乏一个可以量化的指标。Android 系统通过计算获得的应用耗电数据只是一个估算值,从 Android 4.4 开始,连这个估算值也无法拿到了。当有用户投诉我们应用耗电的时候,我们一般也无所适从,不知道该如何定位、如何分析。
耗电优化究竟需要做哪些工作?我们如何快速定位代码中的不合理调用,并且持续监控应用的耗电情况呢?今天我们就一起来学习耗电的优化方法和线上监控方案。

耗电优化

在开始讲如何做耗电优化之前,你需要先明确什么是耗电优化,做这件事情的目的究竟是什么。
1. 什么是耗电优化
有些同学可能会疑惑,所谓的耗电优化不就是减少应用的耗电,增加用户的续航时间吗?但是落到实践中,如果我们的应用需要播放视频、需要获取 GPS 信息、需要拍照,这些耗电看起来是无法避免的。
如何判断哪些耗电是可以避免,或者是需要去优化的呢?你可以看下面这张图,当用户去看耗电排行榜的时候,发现“王者荣耀”使用了 7 个多小时,这时用户对“王者荣耀”的耗电是有预期的。
假设这个时候发现某个应用他根本没怎么使用(前台时间很少),但是耗电却非常多。这种情况会跟用户的预期差别很大,他可能就会想去投诉。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了耗电的优化方法与线上监控。相比启动、卡顿、内存和网络的优化,耗电优化可能大多数应用关注不多。但耗电在线上一直缺乏一个可以量化的指标。文章首先明确了耗电优化的目的和方向,指出耗电优化的难点主要包括缺乏现场、信息不全、无法评估结果。然后介绍了耗电优化的方法,包括找到需求场景的替代方案、符合Android规则、异常情况监控等。文章强调了耗电优化的重要性,并提供了实用的优化方法和线上监控方案,对于开发者来说具有一定的参考价值。文章还介绍了耗电监控的具体内容和监控方法,包括Android Vitals的不足之处以及自建耗电监控系统的必要性。最后,文章提供了Java Hook和插桩两种实现耗电监控的方法,并指出了它们各自的优缺点。整体而言,本文通过深入的技术分析和实用的案例,为开发者提供了耗电优化和监控的全面指南。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Android 开发高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • 斑马线
    “虽然使用 Hook 非常简单” ,之前没用过,不觉得很简单😢

    作者回复: 建议看看关于Hook的文件以及几个开源库,即使我们不懂得里面的原理,使用起来其实并不复杂。 我们不需要害怕

    2019-02-15
    7
  • 百岁无忧
    如果手机本来就是android5.0,就算指定了项目中的Target API,这样能启动省电效果吗?

    作者回复: 不行哈,因为5.0的ROM,他肯定不能享受后续版本带来的优化

    2019-04-24
    1
  • 柏拉图式的黑洞
    Java hook老师有什么推荐的方案吗?搜索了几个方案,似乎都不太满意(有些甚至需要root才能用的就更无法考虑了)。

    作者回复: Java hook 其实非常稳定的暂时还没发现

    2019-06-27
  • 贤榆旳榆(Ronny)
    我想问一下,有好的方法监测native的线程耗电,并那到耗电线程的堆栈吗?
    2023-02-16归属地:上海
  • Traveling
    电量优化是否可以公开源码?
    2020-10-23
  • Geek_a1e8a8
    Sensor的hook点在哪? 没有切入点 如何hook
    2020-02-19
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部