0

単一のフラグメントを含むアクティビティがあり、そのフラグメントには、他のフラグメントをページングする FragmentPagerAdapter を持つ ViewPager があります。

                                         --> ChildFragment
MyActivity -> HostFragment w ViewPager   --> ChildFragment
                                         --> ChildFragment

ChildFragment では、Android-Universal-Image-Loader ライブラリを使用していくつかの画像を表示します。Nexus S では悪名高い

java.lang.OutOfMemoryError: bitmap size exceeds VM budget

約 10 個の Childfragments がスワイプされた後 (約 50 ~ 100 ビットマップ)、非常に高速です。推奨されるすべての設定をUIL構成に設定しようとしましたが、チャッシングを無効にしましたが、役に立ちませんでした。また、onDestroyView で Childfragment のすべてのビットマップをリサイクルしようとしましたが、役に立ちませんでした。

  1. ネストされたフラグメントを使用したセットアップは、この問題と関係がありますか? 別のアプリでは、Viewpager と Childfragments (中央のフラグメントなし) を持つアクティビティのみがあり、この問題はありません。

  2. Eclipse の DDMS ビューでヒープ サイズを確認しましたが、ヒープ サイズの 45% がまだ空いているときにアプリがクラッシュするのはなぜですか? ヒープ ビューには次のように書かHeap size 10 MB Allocated 5,4 MB Free 4,5 MB れています。

4

3 に答える 3

0

これは android.refer this でよく知られている問題です。http://developer.android.com/training/displaying-bitmaps/index.html

于 2013-11-06T07:54:57.707 に答える