Gridview内存不足异常

时间:2014-05-04 12:29:15

标签: android gridview

我制作的壁纸应用程序包含大约150张高清图像,我将它们全部添加到gridview。

它可以很容易地使用高ram手机和模拟器,但有时由于内存不足而强行关闭我能做什么。

它是250张图像,我把它减少到150张图像所以不希望减少图像数量的解决方案

任何人都可以帮助我?

05-04 12:27:36.387: E/AndroidRuntime(929): FATAL EXCEPTION: main
05-04 12:27:36.387: E/AndroidRuntime(929): java.lang.OutOfMemoryError
05-04 12:27:36.387: E/AndroidRuntime(929):  at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
05-04 12:27:36.387: E/AndroidRuntime(929):  at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:502)

1 个答案:

答案 0 :(得分:2)

  

我制作的壁纸应用程序包含大约150张高清图像,我将它们全部添加到gridview

如果您的GridView有用,则单个单元格无法占据整个屏幕。相反,您的GridView将显示壁纸图片的缩略图,因此用户可以一次看到多个此类缩略图并滚动浏览网格。 GridView中不需要150张高清图像 - GridView中需要150张高清图像缩略图

因此,使用BitmapFactory.OptionsinSampleSize加载图片的缩略图,其中inSampleSize将对图片进行下采样以减少使用内存。 Here is a sample project我使用inSampleSize的地方,并在为inSampleSize选择更高的值时展示图像质量的变化。