我有一个包含单个 Fragment 的 Activity,并且该 Fragment 有一个 ViewPager 和一个 FragmentPagerAdapter,它分页其他 Fragment:
--> 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 配置,禁用 chaching,但无济于事。我还尝试在 onDestroyView 中回收 Childfragment 的所有位图,但没有帮助。
我的嵌套片段设置与这个问题有关吗?在另一个应用程序中,我只有一个带有 Viewpager 和 Childfragments(没有中间片段)的 Activity,我没有这个问题。
我在 Eclipses DDMS 视图中检查了堆大小,当应用程序仍有 45% 的可用堆大小时,它怎么会崩溃?堆视图说:
Heap size 10 MB Allocated 5,4 MB Free 4,5 MB
应用程序怎么会这样内存不足?