gpt4 book ai didi

java - Android 高效加载大量图像

转载 作者:行者123 更新时间:2023-12-01 11:03:38 24 4
gpt4 key购买 nike

我在各种 Drawable 文件夹(Drawable-xhdpi、Drawable-mdpi 等)中包含很多 PNG 图像,它们都相对较小(最多 10KB),但在某一时刻我需要加载大约 50 个将它们显示在屏幕上。当我这样做时,会导致 OutOfMemoryError。理想情况下,我希望能够通过简单地调用 setContentView 一次来加载这些图像(内容 View 有一堆 ImageView,其 src 属性已经设置为相应的图像)。这就是我现在正在做的事情,但是由于内存错误,这当然不起作用。除了减小图片大小之外,还有什么方法可以防止OutOfMemoryError吗?

最佳答案

避免一次加载这么多图像,相反,您可以将它们加载到 GridView 中,如所述 here .

使用Picasso使用 GridView 提高内存效率

public View getView(int position, View convertView, ViewGroup container) {
ImageView imageView;
if (convertView == null) { // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setLayoutParams(new GridView.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
} else {
imageView = (ImageView) convertView;
}
// Load image into ImageView "using Picasso"
Picasso.with(mContext).load(imageResIds[position]).into(imageView);
return imageView;
}

关于java - Android 高效加载大量图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33141139/

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