2

Galleryを含むフラグメントをホストするアクティビティがあります。別のアクティビティを開始するときは、基本的に、ギャラリービットマップで満たされたメモリを解放したいと思います。

私のフラグメントは次のように動的に挿入されます:

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 に答える