在我的应用程序中,我需要从服务器下载图像并将其保存在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;
}
答案 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