gpt4 book ai didi

java - BitmapFactory.Options 未按预期工作

转载 作者:行者123 更新时间:2023-12-01 13:33:50 26 4
gpt4 key购买 nike

我有一个包含两列的 ArrayList,并显示下面带有文本的图像。我正在使用高质量图像,并且需要在 GridView 中以良好的质量显示这些图像,为此我使用 BitmapFactory.Options。我正在使用来自 google 的相同代码,但这仍然会引发 OutOfMemory 错误。

代码:

 BitmapFactory.Options obj = new BitmapFactory.Options();
obj.inPurgeable = true;
obj.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.drawable.car, obj);
BitmapFactory.decodeResource(getResources(), R.drawable.nature, obj);
obj.inSampleSize = 4;
obj.inJustDecodeBounds = false;
Bitmap homeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.car,obj);
Bitmap userIcon = BitmapFactory.decodeResource(getResources(), R.drawable.nature,obj);
gridArray.add(new Item(homeIcon,"Home"));
gridArray.add(new Item(userIcon,"User"));
gridArray.add(new Item(homeIcon,"House"));
gridArray.add(new Item(userIcon,"Friend"));
gridArray.add(new Item(homeIcon,"Home"));
gridArray.add(new Item(userIcon,"Personal"));
gridArray.add(new Item(homeIcon,"Home"));
gridArray.add(new Item(userIcon,"User"));
gridArray.add(new Item(homeIcon,"Building"));
gridArray.add(new Item(userIcon,"User"));
gridArray.add(new Item(homeIcon,"Home"));
gridArray.add(new Item(userIcon,"xyz"));

更新:

Item.java:

public class Item {
Bitmap image;
String title;

public Item(Bitmap image, String title) {
super();
this.image = image;
this.title = title;
}
public Bitmap getImage() {
return image;
}
public void setImage(Bitmap image) {
this.image = image;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}


}

这是代码,我有另一个类名 Item,它有一个参数为 Bitmap 和 String 的构造函数。执行此操作时,它会抛出 OutOfMemoryError 错误。我不确定是否应该在这些代码中添加任何其他额外内容。任何帮助将不胜感激。

最佳答案

此错误通常在加载大位图时发生。您的 ImageButtons 的绘图是否高分辨率?如果是这样,这可能是错误。您尝试将它们下采样到适当的分辨率,但为了快速修复,添加 android:largeHeap="true"<application> AndroidManifest.xml 文件的标记有时可以让您的应用程序加载大图像而不会出现内存不足错误。

您使用 Google 提供的相同代码但仍然收到内存不足错误的原因不仅仅是位图的高分辨率,还在于您一次加载的数据量太大。

在它们之间添加一个小的等待可以分散负载并根据您的布局制作一个可爱的小动画,这只是一个想法(但当然不要在 UI 线程上这样做)。

祝你好运!

关于java - BitmapFactory.Options 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21404562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com