标签: android memory-leaks android-broadcastreceiver kill-process
在我的应用程序中,我以编程方式注册BroadcastReceiver,并在适当的时间取消注册我的应用程序的业务逻辑。
BroadcastReceiver
receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) {...}
我想确保当我的应用程序进程意外死亡(被杀)时,接收器不会导致内存泄漏,是否可以执行我的选择?
(已经查看official doc,this great article和this SO thread)
答案 0 :(得分:3)
我想确保当我的应用程序的进程意外死亡(被杀)时,接收器不会导致内存泄漏,是否可以执行我的选择?
当一个应用程序进程被系统杀死(相当)时,与该进程相关的所有内容都“消失”了。不会出现应用程序组件(Fri Jan 01 00:00:00 CET 2016 20160101T000000Z ,Activity,Service)方面的内存泄漏。
Fri Jan 01 00:00:00 CET 2016 20160101T000000Z
Activity
Service
修改强> 当流程被杀BroadcastReceiver时,请使用ActivityManagerService方法here清除所有应用资源 您可以清楚地看到所有资源,包括所有已注册的广播接收器都被清理。(Ln. 15598)
ActivityManagerService