下载并显示缩略图

时间:2011-12-19 05:40:52

标签: android

我尝试将图片从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系统生成的缩略图?

2 个答案:

答案 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();

我希望这会奏效。