Android кеширование изображений

Вы можете использовать .parents( [ selector ] ) , вот ссылка

. Он пересечет более одного родителя вверх.

139
задан Ben Scheirman 20 September 2011 в 17:09
поделиться

2 ответа

Чтобы загрузить образ и сохранить его на карту памяти, вы можете сделать это следующим образом.

//First create a new URL object 
URL url = new URL("http://www.google.co.uk/logos/holiday09_2.gif")

//Next create a file, the example below will save to the SDCARD using JPEG format
File file = new File("/sdcard/example.jpg");

//Next create a Bitmap object and download the image to bitmap
Bitmap bitmap = BitmapFactory.decodeStream(url.openStream());

//Finally compress the bitmap, saving to the file previously created
bitmap.compress(CompressFormat.JPEG, 100, new FileOutputStream(file));

Не забудьте добавить в манифест разрешение на доступ в Интернет:

<uses-permission android:name="android.permission.INTERNET" />
17
ответ дан 23 November 2019 в 23:13
поделиться

Преобразуйте их в Bitmaps и затем либо храните их в коллекции(HashMap,List и т.д.), либо можете записать на SDcard.

При хранении их в пространстве приложений с использованием первого подхода, вы можете захотеть обернуть их вокруг java.lang.ref.SoftReference конкретно, если их количество велико (так, чтобы они были мусором, собранным во время кризиса). Однако, это может привести к перезагрузке.

HashMap<String,SoftReference<Bitmap>> imageCache =
        new HashMap<String,SoftReference<Bitmap>>();

запись их на SDcard не потребует перезагрузки; просто разрешение пользователя.

.
27
ответ дан 23 November 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: