当我滚动并从网上加载图片时,我正在处理RecycleView的问题。图像的大小PLUS ImageView组件的行为(width = match pratent,height = wrap content)决定了孩子的身高。我认为一个很好的解决方法是从服务器询问图像的高度和宽度。这样我就可以在创建它的那一刻调整孩子的大小,避免在加载图像后调整大小的奇怪行为。为了做到这一点,我开始创建Bmp drawables,其中包含正确加载的图像大小,并使用picasso(placehold(Drawable))将其作为占位符。
有了这个,我已经修复了调整大小的问题,但是由于BMP的创建,我开始得到OutOfmemory。如果它有更好的方法吗? Obrigado!
答案 0 :(得分:0)
你有没有尝试过BitmapFactory.Options? 有一种方法可以在加载整个位图数据之前获取图像属性:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
String imageType = options.outMimeType;
ref https://developer.android.com/topic/performance/graphics/load-bitmap.html