当我以Programattically方式注册My BroadcastReceiver时,我在LogCat中遇到错误。我知道我没有在Activity中取消注册我的BroadcastReceiver。
但是当我通过Manifest注册时,我没有收到此错误。为什么??????
还有什么意思MainActivity泄露了IntentReceiver ??? 。它会在记忆中产生任何问题。
如果我没有取消注册My 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()?
答案 0 :(得分:0)
当对象存储在内存中但无法访问时会发生内存泄漏,因为删除了指向该对象的指针。它会降低性能,因为它会占用内存,在最坏的情况下系统会崩溃。
由于Android运行的是Java,垃圾收集器应该处理它,但它当然更喜欢正确处理它而不是将它留给GC。
以下是有关内存泄漏的一些信息: