谷歌官方建议笔记——电量

原文

  • 应该在做省电优化时首先检查电量状态,使用
    IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    Intent batteryStatus = context.registerReceiver(null, ifilter);

    直接获取状态,关于sticky broadcast
  • 一直监控电量是矫枉过正的
    <receiver android:name=".BatteryLevelReceiver">
    <intent-filter>
    <action android:name="android.intent.action.ACTION_BATTERY_LOW"/>
    <action android:name="android.intent.action.ACTION_BATTERY_OKAY"/>
    </intent-filter>
    </receiver>
    这种监听比较合理
  • 使用ConnectivityManager监听网络情况,对于网络不好的情况,不进行下载或者刷新数据的操作
  • 动态改变Manifest中Receiver的状态,以减少Receiver个数:
    ComponentName receiver = new ComponentName(context, myReceiver.class);
    PackageManager pm = context.getPackageManager();
    pm.setComponentEnabledSetting(receiver,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP)
  • 集合后台工作,统一执行,减少设备唤醒次数,延长设备深睡时间。使用不准确定时器,包括AlarmManager.setWindow, AlarmManager.setInexactRepeating, SyncAdapter, JobScheduler等
  • LocationManager设置的interval不一定生效,全局使用所有interval中最短的一个。可以设置fastestInterval,减少回调
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值