我尝试将图片从URL下载到SD卡/下载。 我尝试在imageview中显示其缩略图。 现在我有以下代码:
try {
Download(URL); //download picture to SD card/Download
File myfile = new File(Environment.getExternalStorageDirectory() + "/Download/", filename);
Drawable photo = null;
photo = Drawable.createFromPath(myfile.getPath());
imageview.setBackgroundDrawable(photo);
}
显示原始图片。 但是当图片很大时。 发生内存错误。 所以我想展示更小的图片。 我该怎么做才能生成缩略图并显示它? 或者如何使用Android系统生成的缩略图?
答案 0 :(得分:1)
使用位图,类似的东西,
try
{
Download(URL); //download picture to SD card/Download
final int THUMBNAIL_SIZE = 64;
FileInputStream fis = new FileInputStream(Environment.getExternalStorageDirectory() + "/Download/", filename);
Bitmap imageBitmap = BitmapFactory.decodeStream(fis);
imageBitmap = Bitmap.createScaledBitmap(imageBitmap, THUMBNAIL_SIZE, THUMBNAIL_SIZE, false);
imageview.setImageBitmap(imageBitmap);
}
catch(Exception ex) {
}
答案 1 :(得分:1)
来自显示的代码
尝试使用此代替最后两行
Bitmap photo = Bitmap.createScaledBitmap(BitmapFactory.decodeFile(myfile.getPath()),60,60,true);
imageview.setImageBitmap(photo);
如果您在Download()
函数中为Bitmap / String / Stream创建了任何对象,则可以释放它们System.gc();
我希望这会奏效。