0

当我以编程方式注册我的 BroadcastReceiver 时,我在 LogCat 中收到以下错误。我知道我没有在 Activity 中注销我的 BroadcastReceiver。

但是当我通过 Manifest 注册时,我没有收到此错误。为什么??????

还有 MainActivity 泄露了 IntentReceiver 是什么意思???. 它会在内存中产生任何问题吗?

如果我没有取消注册我的 BroadcastReceiver 会发生什么糟糕的事情???

    10-06 18:09:38.057: E/ActivityThread(15435): Activity com.collabera.labs.sai.MainActivity

 has leaked IntentReceiver com.collabera.labs.sai.MyBroadcastReceiver@41c8bc68 that was 

originally registered here. Are you missing a call to unregisterReceiver()?
4

1 回答 1

0

当对象存储在内存中但由于指向该对象的指针被删除而无法访问时,就会发生内存泄漏。它会降低性能,因为它会占用内存,在最坏的情况下系统会崩溃。

由于 Android 运行的是 Java,垃圾收集器应该处理它,但当然最好正确处理它,而不是将其留给 GC。

以下是有关内存泄漏的一些信息:

维基百科 - 内存泄漏

Android - 避免内存泄漏

于 2013-10-07T13:34:21.230 回答