Android应用电量消耗评估的三板斧


这里只是使用最简单的方法对你的app的电量消耗进行评估,如果还想更加详细或者复杂的方法,可以使用一些比较专用的工具,比如Emmagee(https://github.com/NetEase/Emmagee),这个就很好用。


第一招:看系统的 设置-电池 里面的耗电排名。


除非你的APP耗电很出格,一用手机就发烫、电量直线往下掉,否则,对于大多数用户,你到底耗电怎么样,主要就是看这个了。


先测测你的静默耗电:

不要插usb和电源,在不充电的情况下,保持你的app前台或者后台静默一晚上,也可以根据不同业务场景,多测几次,然后在 设置-电池 中,看看你的耗电排名,以及进一步点击看看具体开销。


再测测你的操作耗电:

步骤一样,只不过,你可以拿竞争对手或者业内标杆来进行下对比,各正常操作10分钟,然后再看耗电的排名和具体开销,相信自己的app耗电在什么水平上,应该心里有数了。



第二招:通过adb工具查看各部件的耗电。


    手机中的每个部件(CPU、LED、sensor、GPS、3G、wifi 、wakelock等等)运行时对应的能耗值都放power_profile.xml 文件中, 而且系统的设置-->电池-->使用情况中,统计的能耗使用情况也是以power_profile.xml的value 作为基础参数的。通过命令监控app各部件的使用时长,然后结合设备耗电的基础参数进行加权计算,即可得到 app 使用的耗电量。操作步骤如下: 


1) 拔掉 usb 连接;

2) 操作 app(比如保持前台、后台静默一段时间);

3) 插上 usb,执行 adb shell dumpsys batteryinfo,找到你的应用对应UID资源使用,如下所示Wake lock GCM_LIB: 24m 41s 316ms长时间使用,导致耗电

  #10062:

    Network: 160.39KB received, 150.69KB sent

    Wake lock window: 4s 729ms window (2 times) realtime

    Wake lock GCM_LIB: 24m 41s 316ms partial (1 times) realtime

    Wake lock AlarmManager: 32ms partial (23 times) realtime

    TOTAL wake: 24m 41s 348ms partial, 4s 729ms window realtime

    Sensor GPS: (not used)

    Proc *wakelock*:

      CPU: 9s 230ms usr + 9s 470ms krn

    Proc com.xxxx.xxxx:

      CPU: 1s 120ms usr + 770ms krn

    Proc com.xxxx.xxxx::

      CPU: 33s 140ms usr + 7s 320ms krn

    Apk com.xxxx.xxxx::

      Service com.xxxx.xxxx::

        Created for: 47m 23s 532ms  uptime

        Starts: 1, launches: 1

      Service com.xxxx.xxxx::

        Created for: 15s 910ms  uptime

        Starts: 19, launches: 19

        ……

4) 监控app wake lock 类型、次数以及时间,传感器的使用时间,网络流量的开销,各子个进程的 CPU 使用时间;


第三招:观察cpu开销


保持前后台静默的时候,通过命令 adb shell top -d 1 |grep yourapp,可以观察你的应用相关进程的cpu开销。

前台静默时在滚屏、倒计时等不可视的时候,我们期望cpu占用0%

尤其是后台静默,一旦超过0%,必然持续耗电,都必须解决。



简简单单3招,足以让你对你的APP的耗电量有个大概的评估,而且,对存在的问题有个大概的定位。


对于无线设备发展到今天的地步,性能越来越不再是问题了,但是,电量却依然是目前最大的一个瓶颈,你的APP想因为耗电而被用户“请出”设备吗?不妨动起来,试试这简单的三板斧。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值