1
讓我們把下面的服務爲例:多少電池會耗盡一個Android服務,廣播接收器
public class MyService extends Service {
final BroadcastReceiver mScreenStateReceiver = new BroadcastReceiver() {
@Override public void onReceive(Context context, Intent intent) {
//Do nothing
}
};
@Override
public void onCreate() {
super.onCreate();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
intentFilter.addAction(Intent.ACTION_SCREEN_ON);
registerReceiver(mScreenStateReceiver, intentFilter);
}
@Override
public void onDestroy() {
super.onDestroy();
unregisterReceiver(mScreenStateReceiver);
}
}
注意,這個廣播接收器需要被註冊在運行時(可以說,服務或活動)。這就是我使用服務的原因
假設此服務將在設備開機的整個過程中運行,有一個工作的BroadcastReceiver並且什麼都不做,會消耗電池壽命嗎?如果會,多少?由於運行了服務或廣播接收器,是否可以使其運行使Android框架消耗更多電量?
我知道,我是一個電池壽命瘋子