Android 从ImageView减小图像的文件大小

Android 从ImageView减小图像的文件大小,android,bitmap,imageview,android-volley,Android,Bitmap,Imageview,Android Volley,我使用以下代码从ImageView获取位图。此图像不会保存在我设备的其他任何位置。我想将此图像上载到在线mysqli数据库。但是,要这样做,我需要先减小文件的大小。我找到了很多关于这个的链接,但是它们都要求将文件保存在设备上,然后使用FileOutputStream。我正在寻找一种减少文件大小的方法,以便可以使用Volley API轻松地传输文件(我目前收到的是内存不足异常或管道中断错误)。因此,我正在寻找一种方法来修改此代码,以便能够显著减少文件大小,同时仍然保持可以在移动设备上轻松显示的质量

我使用以下代码从ImageView获取位图。此图像不会保存在我设备的其他任何位置。我想将此图像上载到在线mysqli数据库。但是,要这样做,我需要先减小文件的大小。我找到了很多关于这个的链接,但是它们都要求将文件保存在设备上,然后使用
FileOutputStream
。我正在寻找一种减少文件大小的方法,以便可以使用Volley API轻松地传输文件(我目前收到的是内存不足异常或管道中断错误)。因此,我正在寻找一种方法来修改此代码,以便能够显著减少文件大小,同时仍然保持可以在移动设备上轻松显示的质量。原始图像是直接从相机拍摄的,因此尺寸相当大。这是我的密码:

ImageView pic_holder = (ImageView) findViewById(R.id.picturedisplay);
            Bitmap bitmap = ((BitmapDrawable)pic_holder.getDrawable()).getBitmap();
            ByteArrayOutputStream stream=new ByteArrayOutputStream();

            bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);
            byte[] image=stream.toByteArray();
            String img_str = Base64.encodeToString(image, 0);

我想减小IGGYSTR的大小,这是通过我的截击方法。

<代码>位图。压缩格式。PNG < /代码>是无损的,它会忽略质量设置。如果你有损压缩,可以考虑使用JPEG压缩。您可以使用quality参数,查看是否存在质量下降/大小权衡。我一直在寻找类似的东西,但是没有FileStream组件,为什么要从ImageView获取位图?位图是否需要以与从图像视图获取位图相同的宽度/高度尺寸进行传输ImageView?<代码>位图。压缩格式。PNG < /COD>是无损的,它会忽略质量设置。如果您对有损压缩可以接受,则可以考虑使用JPEG压缩。您可以使用quality参数,查看是否存在质量下降/大小权衡。我一直在寻找类似的东西,但是没有FileStream组件,为什么要从ImageView获取位图?位图是否需要以与从ImageView获取位图相同的宽度/高度尺寸进行传输?