Я прочитал все ветки outofmemoryerror и понимаю, что пытаюсь изменить размер изображения мамни. Я храню эти изображения на моем сервере в максимальном размере 250x250. Я пытаюсь загрузить их в список. Я реализовал систему кеша, и она прекрасно работает. Проблема в том, что я кэширую размер изображения с сервера, и я все еще делаю изменение размера каждый раз, когда извлекаю его из кэша.
Я хочу изменить размер изображения, прежде чем поместить его в кэш. Я использую XML для изменения размера изображения в списке.
<ImageView android:id="@+id/img_user" android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/noimgsmall"
android:scaleType="fitCenter"/>
Мой список адаптеров, где я помещаю изображение в кэш. Проблема в том, что я не знаю на данный момент размер изображения.
Drawable cachedImage = null;
cachedImage = imageLoader.loadImage(
store.getLogoUrl(),
new ImageThreadLoader.ImageLoadedListener() {
public void imageLoaded(Drawable imageBitmap) {
View itemView = parent.getChildAt(position -
((ListView) parent).getFirstVisiblePosition());
if (itemView == null) {
return;
}
ImageView img = (ImageView)
itemView.findViewById(R.id.img_user);
if (img == null) {
return;
}
img.setImageDrawable(imageBitmap);
}
}
);
logoImageView.setImageDrawable(cachedImage);
Как определить размер изображения для кэширования?