2

我有一个活动,其中包含一个带有画廊的片段。当我开始另一个活动时,基本上,我想释放充满画廊位图的内存。

我的片段是这样动态插入的:

FragmentManager fragmentManager = getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager
            .beginTransaction();

    if (_promoFragment == null) {
        _promoFragment = new TabletPromoFragment();
    }

    fragmentTransaction.replace(_singlePageContainerId, _promoFragment);

    fragmentTransaction.commit();

我什至在活动的 onPause 中调用 _promoFragment.onDestroyView,但 MAT 仍然显示有一个 Gallery 对象包含对位图的这些引用。

你有什么建议?

ps 如果更清楚,我可以发布 MAT 报告。

4

2 回答 2

1

在片段和活动的生命周期之后,您会遇到引用和对象在内存中的问题。

看看我对这个帖子的回复

您必须确保在销毁片段/活动时没有留下任何参考。确保清除其所有使用情况和历史记录,以便 Android 的垃圾收集器成功处理它

于 2016-07-26T21:35:12.570 回答
0

对位图使用弱引用。http://developer.android.com/reference/java/lang/ref/WeakReference.html

于 2012-08-22T11:36:18.303 回答