我的布局中有很长的图标列表(大约 30 个),因此在 Android 2.3.3 中出现 OutOfMemory 错误。
我想做的是仅在必要时创建 Drawable 对象(图标在当前滚动条上可见)。
但是如果imageview在屏幕上,现在怎么办?我找不到这个的听众。
我的图标(png 文件)已经在 drawables 文件夹中。根本没有下载过程。
我的布局中有很长的图标列表(大约 30 个),因此在 Android 2.3.3 中出现 OutOfMemory 错误。
我想做的是仅在必要时创建 Drawable 对象(图标在当前滚动条上可见)。
但是如果imageview在屏幕上,现在怎么办?我找不到这个的听众。
我的图标(png 文件)已经在 drawables 文件夹中。根本没有下载过程。
尝试使用 ImageLoader 库,它为您提供了许多自定义选项来加载图像列表...在此处输入链接描述
这就是我解决问题的方法;
Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.icon1);
Bitmap loBitmap = Bitmap.createScaledBitmap(image, iconSize , iconSize, true);
imageView.setImageBitmap(loBitmap);
在我的情况下,iconSize 已经计算过了。
我不想为这么简单的任务使用外部库,所以我放弃了延迟加载,只是摆脱了 OOM 异常。
因为我的问题是关于监听进入屏幕事件的视图,所以我将@Swap-IOS-Android的答案标记为答案。您可以查看库源代码以了解它是如何工作的。