复制代码代码如下:
Final Arquivo ImageFile = novo arquivo (getCachedir (). getPath () + "/img/" + p.Image);
image.setVisibility (view.gone);
View.FindViewById (R.id.Imageloading) .Setvisibility (View.Visible);
(nova assínceta <void, void, bitmap> () {
@Override
bitmap protegido doinbackground (void ... params) {
tentar {
Imagem de bitmap;
if (! imagefile.exists () || imagefile.length () == 0) {
imagem = bitmapFactory.Decodestream (novo URL (
"http://example.com/images/"
+ P.IMAGE) .Penstream ());
image.comPress (bitmap.compressFormat.jpeg, 85,
novo FileOutputStream (ImageFile));
image.recycle ();
}
imagem = bitmapFactory.DecodeFile (ImageFile.getPath (),
bitmapoptions);
imagem de retorno;
} catch (malformedurlexception ex) {
// TODO BLOCO DE CAPAGEM AUTOMAGEM
Ex.PrintStackTrace ();
retornar nulo;
} catch (ioexception ex) {
// TODO BLOCO DE CAPAGEM AUTOMAGEM
Ex.PrintStackTrace ();
retornar nulo;
}
}
@Override
Void protegido onPostExecute (imagem de bitmap) {
if (View.getTag ()! = P) // A exibição foi reciclada.
retornar;
View.FindViewById (R.id.imageloading) .Setvisibility (
View.gone);
View.FindViewById (R.id.Image)
.setvisibility (View.Visible);
((ImageView) View.FindViewById (R.id.Image))
.setImageBitmap (imagem);
}
}).executar();