在ViewFlipper中向ImageViews添加多个图像时出现'OutOfMemoryError'?

时间:2015-03-01 15:06:49

标签: android out-of-memory viewflipper

我有一个包含6个ViewFlippers的片段,每个鳍状肢包含至少10个ImageViews。我试图加载所有图像并将它们放在ImageViews中,但受限制的内存不允许我这样做。每次运行应用程序时都会发生此异常。

当我减少我的应用运行的图像数量时,但这不是解决方案 那么这样做的最佳方式是什么?

这是我到目前为止所做的:

for(int i=0; i<flippers.length; i++) {
    for (int j = 0; j < names.length; j++) {
        int imageResource = getResources().getIdentifier(names[j], "drawable", rootView.getContext().getPackageName());
        ImageView imageView = new ImageView(rootView.getContext());
        imageView.setImageResource(imageResource);
        flippers[i].addView(imageView);
    }
}
  

26546-26546 / com.azad E / AndroidRuntime:致命异常:   主要       过程:com.azad,PID:26546       java.lang.OutOfMemoryError

1 个答案:

答案 0 :(得分:1)

在加载

之前使用库来调整图像大小

您可以使用的某些库是

Picasso

UIL

此库将帮助您缓存图像。当不需要图像时,您可以从内存中清除它