Вам нужно использовать ImageView, чтобы показать изображение.во-вторых, viewview может принимать растровое изображение, ресурс или URI.но растровое изображение лучше, потому что использование URI и ресурса означает, что декодирование изображения до его размещения происходит в потоке пользовательского интерфейса, что не очень хорошая вещь для изображений.
для установки растрового изображения, получитессылаясь на ваше изображение в макете и используя
myImageView.setImageBitmap(myImageBitmap);
, чтобы получить растровое изображение с SD-карты, вы можете использовать BitmapFactory.decodeFile ();функция например.Я обычно декодирую изображения в растровые изображения прямо из потока из Интернета, а затем сохраняю растровое изображение в виде файла на SD.я считаю, что это лучшее решение.
File f = new File(cacheDir, filename);
OutputStream outStream = new FileOutputStream(f);
Bitmap bmp;
bmp = BitmapFactory.decodeStream(new FlushedInputStream(inputStream));
bmp.compress(Bitmap.CompressFormat.PNG, 90, outStream);
, где я использую функцию сбрасываемого потока ввода из-за ошибки в соединении URL.см. эту ссылку
, поскольку для кеша вы определенно можете использовать SDCard.это намного лучше, чем использовать для этого память телефона (то есть каталог кеша на телефоне, который заполняет память телефона), вы можете просто очистить кэш sd, удалив все изображения в папке кеша onDestroy ().это просто.и если вам нравится кэш в памяти, то используйте карту hashMap, weakReference или softReference.Я предлагаю для более длительного хранения хэш-карту, но будьте осторожны с потреблением памяти.
для изображений «Ленивая загрузка» см. эту ссылку