复制代码代码如下:
File File ImageFile = nouveau fichier (getCachedir (). getPath () + "/ img /" + p.image);
image.setVisibility (View.Gone);
View.FindViewByid (R.ID.ImageLoading) .SetVisibility (View.Visible);
(Nouveau asynctask <void, void, bitmap> () {
@Outrepasser
Bitmap protégé Doinbackground (void ... params) {
essayer {
Image bitmap;
if (! ImageFile.exists () || ImageFile.Length () == 0) {
image = bitmapfactory.decodestream (nouvelle URL (
"http://example.com/images/"
+ p.image) .OpenStream ());
image.compress (bitmap .......c.jpeg, 85 ans, 85
new FileOutputStream (ImageFile));
image.recycle ();
}
image = bitmapfactory.decodefile (imageFile.getPath (),
bitmapoptions);
Image de retour;
} catch (malformedUrlexception ex) {
// Bloc de capture généré automatiquement de TODO
ex.printStackTrace ();
retourner null;
} catch (ioException ex) {
// Bloc de capture généré automatiquement de TODO
ex.printStackTrace ();
retourner null;
}
}
@Outrepasser
protégé void onpostexecute (image bitmap) {
if (View.getTag ()! = P) // La vue a été recyclée.
retour;
View.FindViewById (R.ID.IMageLoading) .SetVisibility (
View.gone);
View.FindViewByid (R.Id.image)
.SetVisibility (View.Visible);
((ImageView) View.FindViewByid (R.Id.image))
.SetImageBitmap (image);
}
}).exécuter();