我使用Android-Universal-Image-Loader使用 .loadImageSync(imageURL)方法从我的服务器下载图像文件。
然后我需要将该位图保存到用户设备外部存储器。
文件file = new File(mContext.getExternalFilesDir(null)+ directoryIntermediatePath,fileName); FileOutputStream fileOutputStream = new FileOutputStream(file); bitmap.compress(Bitmap.CompressFormat.PNG,100,fileOutputStream);
fileOutputStream.flush();
fileOutputStream.close();
我的问题是我的服务器上的.png文件,大小约为200KB,在Android设备存储上执行此过程后将变为大约700KB。
答案 0 :(得分:0)
您不应将加载的图像保存到磁盘。相反,您应该使用已下载的文件。
如果我做对了,Android-Universal-Image-Loader库会使用磁盘缓存。
如果在构建ImageLoaderConfiguration时设置特定的DiskCache实现,您应该可以稍后访问此DiskCache并稍后通过以下方式检索它:
File f = DiskCacheUtils.findInCache(imageURL, diskCache);
然后您只需要在byte[]
级别复制文件。
答案 1 :(得分:-1)