gpt4 book ai didi

Android内存不足可绘制

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:47:32 28 4
gpt4 key购买 nike

这是我的 viewpager 数组中的可绘制对象,当我运行它时,会导致内存不足错误,有什么方法可以减小图像大小等吗?我做了很多搜索,但我也不能使用它们..请帮助...

GalImages = new int[] { R.drawable.tutorials_01_android_en,R.drawable.tutorials_02_android_en,R.drawable.tutorials_03_android_en,R.drawable.tutorials_04};break

@Override
public Object instantiateItem(ViewGroup container, int position) {

ImageView imageView = new ImageView(context);
final int temp = position;
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(GalImages[position]);

((ViewPager) container).addView(imageView, 0);
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {}
});
return imageView;
}

最佳答案

它是一个 known bug ,不是因为大文件。由于 Android 缓存了 Drawable,它在使用少量图像后内存不足。但是我通过跳过android默认缓存系统找到了替代方法。

灵魂:在 Assets 中创建一个 drawable 文件夹并将图像移动到 assets 中的“drawable”文件夹并使用以下函数获取 BitmapDrawable

public static Drawable getAssetImage(Context context, String filename) throws IOException {
AssetManager assets = context.getResources().getAssets();
InputStream buffer = new BufferedInputStream((assets.open("drawable/" + filename + ".png")));
Bitmap bitmap = BitmapFactory.decodeStream(buffer);
return new BitmapDrawable(context.getResources(), bitmap);
}

引用:https://stackoverflow.com/posts/6116316/revisions

此外,在您的 list 文件中添加以下行

android:largeHeap="true"

关于Android内存不足可绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18583485/

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