由java.lang.ref.FinalizerReference引起的内存泄漏

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

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 

  • 在某些配置更改期间,Loader无法保留自身
  • 如何在Android谷歌地图中显示ATM,医院等附近的地方?
  • 如何在Firebase数据库中保存GeoFire坐标以及其他项目?
  • handleStopActivity中的NullPointerException - 在堆栈跟踪中没有对我的代码的引用
  • 在android中集成org.apache.poi和javax.xml.stream。*包(stax-api) - 如何在Android Studio中设置--core-library参数?
  • 我可以根据用户偏好在启动时启动不同的活动吗?
  • 带月视图的Android自定义日历
  • 如何制作一个“别再问我”对话框popup框? Android的
  • 我的应用程序中出现了这些症状,结果发现内存泄漏。 我曾经将一个活动的回调注册到一个单例对象。 活动的破坏在回调方面尚未解决。

    在我的例子中,我在自定义SurfaceView的重写onDraw方法中创建了一个新的(虽然很小)对象。