分享

android 优化耗电量

 Babylly 2012-01-13

作为app开发者,或许很少有人会注意app对电量的损耗,但是用户对电量可是很敏感的,app做好电量损耗的优化会为自己的app加分不少。

如果是一个好的负责任的开发者,就应该限制app对电量的影响,当没有网络连接的时候,禁用后台服务更新,当电池电量低的时候减少更新的频率,确保自己的app对电池的影响降到最低。当电池充电或者电量比较饱和时,可以最大限度的发挥app的刷新率

1 <receiver android:name=".PowerConnectReceiver">
2   <intent-filter>
3     <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
4     <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
5   </intent-filter>
6 </receiver>

01 public class PowerConnectionReceiver extends BroadcastReceiver {
02     @Override
03     public void onReceive(Context context, Intent intent) { 
04         int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
05         boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
06                             status == BatteryManager.BATTERY_STATUS_FULL;
07       
08         int chargeFlag = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
09         boolean usbCharge = chargeFlag == BATTERY_PLUGGED_USB;
10         boolean acCharge = chargeFlag == BATTERY_PLUGGED_AC;
11     }
12 }

1 //获取程序是否充电
2   
3 int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS,-1);
4   
5 boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||status == BatteryManager.BATTERY_STATUS_FULL;

1 // 充电方式,usb还是电源
2 int chargeFlag = battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
3 boolean usbCharge = chargeFlag == BATTERY_PLUGGED_USB;
4 boolean acCharge = chargeFlag == BATTERY_PLUGGED_AC;
1 不断的检测电量也会影响电池的使用时间,我们可以这样做

 
1 <receiver android:name=".BatteryLevelReceiver"
2 <intent-filter>   
3 <action android:name="android.intent.action.ACTION_BATTERY_LOW"/>   <action android:name="android.intent.action.ACTION_BATTERY_OKAY"/>   </intent-filter
4 </receiver>

当电量低或者满时会触发
有时间再写确定和监测连接状态

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多