01-16 16:52:42.211: E/ActivityThread(2529): Activity com.Civilcourage.CivilcurageSplash has leaked IntentReceiver com.google.android.gcm.GCMBroadcastReceiver@405282e0 that was originally registered here.
Are you missing a call to unregisterReceiver()?
Run Code Online (Sandbox Code Playgroud)
上述错误的原因是什么?怎么可以避免?
Mel*_*des 52
不要依赖onStop(),因为:
请注意,在低内存情况下,系统没有足够的内存来保持活动进程在调用onPause()方法后运行
更多关于活动生命周期的信息.
在onPause()中取消注册您的接收器:
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(yourReceiver);
}
Run Code Online (Sandbox Code Playgroud)
Ner*_*een 46
您需要在停止活动时取消注册接收器:
@Override
protected void onStop()
{
unregisterReceiver(yourReceiver);
super.onStop();
}
Run Code Online (Sandbox Code Playgroud)
您可以unregister尽快收到broadcastreceiver
@Override
public void onReceive(Context context, Intent intent) {
getActivity().unregisterReceiver(this);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70929 次 |
| 最近记录: |