3
我是Android的新手。我想从一个更有经验的程序员那里知道我是否做得很好。一个活动里面我用这种方式宣告一个BroadcastReceiver:活动内广播接收器
private BroadcastReceiver locationUpdateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//Do something
}
}
};
我注册了接收器的onResume()和注销的onPause它()。我可以在内存泄漏中运行吗? 如果否,如果我声明一个扩展了BroadcastReceiver的非静态内部类,并且我在活动内部使用它,那么会一样的注册和取消注册? (我想这就是我控制它的生命周期)。
在此先感谢。
谢谢你,你的意思是在这两种情况下? – iacopo
是的,内部类将是相同的。对于每个onResume,一旦活动进入后台(暂时或活动将被销毁),就会调用onPause,您可以确定地知道自己的逻辑没问题。 –
最好在onStart()而不是onResume()上注册它。您应尽可能避免在onResume/onPause中编写代码,以避免应用程序之间的缓慢转换。 – jBilbo