Je souhaite utiliser le cache système d'Android lors du téléchargement d'images conformément aux instructions précédentes: android system cache. J'ai réussi à faire fonctionner le code suivant, mais les instructions du journal me disent que les images ne sont jamais lues dans le cache.Utilisation du cache système d'Android
try {
//url = new URL("http://some.url.com/retrieve_image.php?user=" + username);
URL url = new URL("http://some.url.com/prof_pics/b4fe7bdfa174ff372c9f26ce6f78f19c.png");
URLConnection connection = url.openConnection();
connection.setUseCaches(true);
Object response = connection.getContent();
if (response instanceof Bitmap) {
Log.i("CHAT", "this is a bitmap");
current_image.setImageBitmap((Bitmap) response);
}
else {
Log.i("CHAT", "this is not a bitmap");
Log.i("CHAT", response.toString());
InputStream is = connection.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
current_image.setImageBitmap(BitmapFactory.decodeStream(bis));
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
J'ai essayé deux différents types de demandes, on est de passer par un script PHP qui renvoie l'image et une autre qui accède directement le fichier d'image. Je rafraîchis la même image plusieurs fois de suite et il ne semble jamais être mis en cache. Pour l'accès direct des images, je reçois:
05-31 23:45:12.177 I/CHAT (2995): this is not a bitmap
05-31 23:45:12.177 I/CHAT (2995): org.apache.har[email protected]40c1c660`
Pour l'accès aux images indirecte, je reçois constamment:
05-31 23:45:14.550 I/CHAT (2995): this is not a bitmap
05-31 23:45:14.550 I/CHAT (2995): org.apache[email protected]40c02448
Bonne aide, merci d'avoir signalé cet article! –