由java.lang.ref.FinalizerReference引起的内存泄漏 [英] Memory leak caused by java.lang.ref.FinalizerReference

查看:600
本文介绍了由java.lang.ref.FinalizerReference引起的内存泄漏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当启动com.android.gallery3d并按回键约2000次时,我得到了java.lang.OutOfMemoryError的异常。
转储堆com.android.gallery3d,它位于android 4.0.4中。使用MAT进行分析,发现java.lang.ref.FinalizerReference被嵌套调用。什么可能导致这个嵌套调用?

when launch com.android.gallery3d and press back key for about 2000 times i got exception of java.lang.OutOfMemoryError. Dump heap of com.android.gallery3d which is in android 4.0.4.Use MAT to analyse and found java.lang.ref.FinalizerReference was nested called. What could cause this nested called?

android.app.ContextImpl @ 0x418f8c98
android.media.AudioManager @ 0x419495c8
android.media.AudioManager$1 @ 0x41949688
java.lang.ref.FinalizerReference @ 0x419496a8
java.lang.ref.FinalizerReference @ 0x419496e8
java.lang.ref.FinalizerReference @ 0x41949800
java.lang.ref.FinalizerReference @ 0x41949848
java.lang.ref.FinalizerReference @ 0x41949890
java.lang.ref.FinalizerReference @ 0x419498d8
java.lang.ref.FinalizerReference @ 0x41949920
java.lang.ref.FinalizerReference @ 0x419499b0
java.lang.ref.FinalizerReference @ 0x419499f8
java.lang.ref.FinalizerReference @ 0x41949a40
java.lang.ref.FinalizerReference @ 0x41949a88
java.lang.ref.FinalizerReference @ 0x41949ad0
java.lang.ref.FinalizerReference @ 0x4194a5a8
java.lang.ref.FinalizerReference @ 0x4194af48
java.lang.ref.FinalizerReference @ 0x4194b878


解决方案

我的应用程序中出现了这些症状,结果发现它与内存泄漏有关。
我曾经将一个活动的回调注册到一个单例对象。活动的破坏正在等待回调。

I had these symptoms in my application and it turned out to be related to a memory leak. I used to register a callback from an activity to a singleton object. Destruction of the activity was pending on that of callback.

这篇关于由java.lang.ref.FinalizerReference引起的内存泄漏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆