复制代码代码如下::
endgültige Datei imageFile = neue Datei (getCacheDir (). getPath () + "/img/" + p.image);
Image.Setvisibility (View.gone);
View.FindViewById (R.Id.Imageloading) .setvisibility (view.visible);
(New Asynctask <void, void, bitmap> () {
@Override
Protected Bitmap doInbackground (void ... params) {
versuchen {
Bitmap -Bild;
if (! ImageFile.Exists () || ImageFile.length () == 0) {
Image = Bitmapfactory.decodestream (neue URL (neue URL (
"http://example.com/images/"
+ p.image) .openstream ());
Image.comPress (bitmap.comPressformat.jpeg, 85,
neuer FileOutputStream (ImageFile));
Image.Recycle ();
}
Image = bitmapFactory.decodeFile (ImageFile.getPath (),
Bitmapoptionen);
Return Image;
} catch (fehl Formaledurlexception ex) {
// todo automatisch generierter Fangblock
ex.printstacktrace ();
null zurückkehren;
} catch (ioException ex) {
// todo automatisch generierter Fangblock
ex.printstacktrace ();
null zurückkehren;
}
}
@Override
geschützte void onPostExecute (Bitmap -Bild) {
if (view.gettag ()! = p) // Die Ansicht wurde recycelt.
zurückkehren;
View.FindViewById (R.Id.Imageloading) .setvisibility (
View.gone);
View.FindViewById (R.Id.Image)
.
((ImageView) View.FindViewById (R.Id.image))
setImageBitmap (Bild);
}
}).ausführen();