我正在创建一个 android 应用程序,并想从 sdcard 读取文件并将其发送到休息网络服务。一切正常,但是当我从 sdcard 读取文件时,它的文件大小比它的原始大小大得多。一个 10 KB 的文件将获得 260 KB。
我正在做以下...
File f = new File(uri);
Log.d("ORIGINAL FILESIZE:"+f.length());
SDCARD 上的文件大小为 10752 字节。
这与手机上的图像尺寸完全相同。
Bitmap bmp = BitmapFactory.decodeFile(uri);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, bao);
Log.d("FILESIZE AFTER:"+bao.size());
解码/压缩后文件大小为 260904 字节。
这是服务器接收并写入磁盘的文件大小。它的图像和质量相同,但大约大 20 倍。
有谁知道我做错了什么?