|
作為app開(kāi)發(fā)者,或許很少有人會(huì)注意app對(duì)電量的損耗,但是用戶(hù)對(duì)電量可是很敏感的,app做好電量損耗的優(yōu)化會(huì)為自己的app加分不少。
如果是一個(gè)好的負(fù)責(zé)任的開(kāi)發(fā)者,就應(yīng)該限制app對(duì)電量的影響,當(dāng)沒(méi)有網(wǎng)絡(luò)連接的時(shí)候,禁用后臺(tái)服務(wù)更新,當(dāng)電池電量低的時(shí)候減少更新的頻率,確保自己的app對(duì)電池的影響降到最低。當(dāng)電池充電或者電量比較飽和時(shí),可以最大限度的發(fā)揮app的刷新率
1 |
<receiver android:name=".PowerConnectReceiver"> |
3 |
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/> |
4 |
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/> |
01 |
public class PowerConnectionReceiver extends BroadcastReceiver { |
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; |
08 |
int chargeFlag = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1); |
09 |
boolean usbCharge = chargeFlag == BATTERY_PLUGGED_USB; |
10 |
boolean acCharge = chargeFlag == BATTERY_PLUGGED_AC; |
3 |
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS,-1); |
5 |
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||status == BatteryManager.BATTERY_STATUS_FULL; |
2 |
int chargeFlag = battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1); |
3 |
boolean usbCharge = chargeFlag == BATTERY_PLUGGED_USB; |
4 |
boolean acCharge = chargeFlag == BATTERY_PLUGGED_AC; |
1 |
不斷的檢測(cè)電量也會(huì)影響電池的使用時(shí)間,我們可以這樣做 |
1 |
<receiver android:name=".BatteryLevelReceiver"> |
3 |
<action android:name="android.intent.action.ACTION_BATTERY_LOW"/> <action android:name="android.intent.action.ACTION_BATTERY_OKAY"/> </intent-filter> |
當(dāng)電量低或者滿(mǎn)時(shí)會(huì)觸發(fā)
有時(shí)間再寫(xiě)確定和監(jiān)測(cè)連接狀態(tài)
|