Android中磁盘问题的位图大小

时间:2015-07-03 05:26:37

标签: android android-volley android-sdcard android-bitmap

在我的应用程序中,我需要从服务器下载图像并将其保存在SD卡中。我正在使用Volley库从服务器下载图像。我的应用程序中的问题是当我从服务器下载图像时它是30kb并且在下载后检查SDcard中该图像的大小是200kb。

这是我的SavedSDcard(),用于将图像保存在SD卡中并返回ImagePath。

public String SavedInSDCard(Bitmap bitmap_in, String id) {

    File dir = new File(ApplicationController.getInstance()
            .getExternalFilesDir("MyApplicationName") + "/Cache");
    // Create the storage directory if it does not exist
    if (!dir.exists()) {
        dir.mkdirs();
    }

    File file = new File(dir, id);
    try {
        FileOutputStream out = new FileOutputStream(file);
        bitmap_in.compress(Bitmap.CompressFormat.JPEG, 100, out);
        out.flush();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

    String imgPath = dir + "/" + id;
    return imgPath;
}

2 个答案:

答案 0 :(得分:2)

bitmap2.compress(Bitmap.CompressFormat.JPEG, 100, out);

从代码中删除上一行。

答案 1 :(得分:0)

<强>第一

bitmap2.compress(Bitmap.CompressFormat.JPEG, 100, out);

您可以减小 100 的值以减小图像尺寸。将 70或80 代替100。

<强>第二

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html