无限List情况下的内存处理概念

时间:2016-11-16 09:42:06

标签: android listview arraylist android-recyclerview

我正在考虑使用(Recyclerview或Listview)和ArrayList提供的数据来使用无限列表。 (对象 - 模型类)

因此对于无限列表,Arraylist大小将增加,因此列表占用的内存也会增加。那么应用程序将如何表现,它不会创建内存不足或不会挂起。

我只是想知道对此有用的概念,如果它创建了Exception-让我知道如何处理它。

2 个答案:

答案 0 :(得分:0)

您的应用很可能会抛出OOM异常,处理它的方法如下:

try {
    // fill your infinite list as you want
} catch (OutOfMemoryError E) {
    //release some/all objects from your list, f.e., the first 100 ones or so
}

我希望它有所帮助。

答案 1 :(得分:0)

在尝试在回收站视图中加载之前,请检查列出的内存是否小于可用内存。因此,处理OutOfMemoryException的最有效方法是以这样一种方式构建应用程序:它永远不会尝试将大量数据加载到内存中以避免异常。

我所使用的物品清单中有超过500或1000的物品。所以你不必担心,因为它会在你的内存缓存中。但是当您在回收站视图中加载图像时会出现实际问题,那时您需要不断回收您的视图。

同样在应用程序类中,当您没有足够的内存时,您将收到回调

amp-analytics

如果您还有任何问题,请告诉我。