Android ViewPager内存不足,而ViewPager又包含另一个ViewPager作为子项

Android ViewPager内存不足,而ViewPager又包含另一个ViewPager作为子项,android,memory-leaks,android-viewpager,out-of-memory,android-volley,Android,Memory Leaks,Android Viewpager,Out Of Memory,Android Volley,我正在创建一个包含五个视图的ViewPager的应用程序。我正在对五个选项卡使用FragmentStatePagerAdapter。每个选项卡都包含通过片段膨胀的视图 在所有这五个选项卡中,有几个来自服务器的图像和一些附加数据 对于ex-tab one,它包含七个带有一些支持相关文本数据的图像,这意味着该选项卡包含七个视图,我使用PagerAdapter切换视图,并且所有这七个图像都使用ViewPager为每个视图(图像+文本)切换 还有四个类似的标签 当我打开这个屏幕时,堆内存急剧增加 由于频

我正在创建一个包含五个视图的ViewPager的应用程序。我正在对五个选项卡使用
FragmentStatePagerAdapter
。每个选项卡都包含通过
片段膨胀的视图

在所有这五个选项卡中,有几个来自服务器的图像和一些附加数据 对于ex-tab one,它包含七个带有一些支持相关文本数据的图像,这意味着该选项卡包含七个视图,我使用
PagerAdapter
切换视图,并且所有这七个图像都使用
ViewPager
为每个视图(图像+文本)切换

还有四个类似的标签

当我打开这个屏幕时,堆内存急剧增加

  • 由于频繁使用图像,因此用于图像缓存的截取库。但是当我在内存分析器工具中分析.hprof文件时,我发现“ImageLoader”占用了大量内存

  • 在android清单标签中使用
    android:largeap=“true”
    ,这绝对不是正确的方法

  • 但即便如此,
    ImageLoader
    仍在急剧增加。因此,我从该页面中删除了
    ImageCaching
    ,将图像存储在内部存储器中,并在需要时重新恢复它们,而无需从服务器下载

    我未能管理堆内存,导致OutOfMemory异常、崩溃和无响应


    ViewPager
    )或(
    Viewager
    内部
    ViewPager
    )中是否存在任何问题,或者是否存在导致内存泄漏的任何其他问题。

    如果您发布了代码,但请记住,每个设备都会有不同的内存限制,您应该确保将图像降采样到可接受的大小


    希望这有帮助:

    我不会将一个ViewPager放在另一个ViewPager中。在同一轴上滚动的嵌套视图(a)在视觉上令人困惑,(b)可能行为不正确(因为系统可能会决定其中一个视图应处理一系列特定的触摸事件,而实际上您希望另一个视图处理这些事件)。也许考虑一种替代的导航机制,比如导航抽屉。至于内存问题,
    android:largeHeap=“true”
    不会解决您的问题,它只会掩盖它们。或许本指南将有助于: