2016-10-20 44 views
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框架消耗更多电量?

我知道,我是一个电池寿命疯子

回答

0

一个BroadcastReciever本身不消耗过多的电池。你在里面做的任务决定了电池耗尽多少。 请参阅thisthis