我正在开发Android应用,我使用Eclipse
+ MAT
来开发和检查内存使用/泄漏。
我检查未过滤的(完整)LogCat
输出,并且没有任何与" IntentReceiverLeaked"相关的内容。但当我检查Heap Dump
时,我看到android.app.IntentReceiverLeaked
对象在那里,当我运行应用程序并使用后退按钮退出并再次重新打开时,它会递增。 (当然,后退按钮不会按预期杀死应用程序,我只是注意到告诉你IntentReceiverLeaked
对象如何递增。)
我不可能通过注释掉一些代码来手动检测泄漏,以查看它的位置,因为源很大且很复杂。
几乎可以看出抛出异常但我可能用零输出catch块来抑制它。
无论如何都要抓住这个IntentReceiverLeaked
来源?
更新
我还检查了接收器对象,这些是唯一的:
UPDATE2
我不使用内部类来创建BroadcastReceiver。