【问题标题】:Memory leaks, bitmaps, fragments内存泄漏、位图、碎片
【发布时间】:2012-08-17 18:48:43
【问题描述】:

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

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

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

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

    fragmentTransaction.replace(_singlePageContainerId, _promoFragment);

    fragmentTransaction.commit();

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

你有什么建议?

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

【问题讨论】:

    标签: android android-memory


    【解决方案1】:

    【讨论】:

    • 我已经使用过 - 我正在使用 github.com/thest1/LazyList/blob/master/src/com/fedorvlasov/… 来异步显示位图。我对这一行有疑问: private Map cache=Collections.synchronizedMap( new LinkedHashMap(10,1.5f,true));但是我认为我的问题是片段视图在我离开第一个活动时不会被破坏
    【解决方案2】:

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

    Check out my reply on this post

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

    【讨论】:

      猜你喜欢
      • 2020-02-15
      • 2013-09-23
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      相关资源
      最近更新 更多