Android压缩图片,程序崩溃
高洛峰
高洛峰 2017-04-17 16:56:44
0
3
394
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
左手右手慢动作

image.compress()这个方法根本不会减小Bitmap的大小,这个实现不了图片压缩。所以你baos、isBm都占用了少的内存空间。直接使用inSampleSize来压缩还好

PHPzhong

按照你的写法,一个2000*1400的照片的insamplesize会被设置为1,解码时需要的内存是会飙升很高的
如果不是对清晰度有特别要求的话,没有必要把图片宽高设置成主流屏幕大小,targetsize可以设定为高的一半就可以显示清楚了
另外,还可以实时动态监测可用内存来动态调整insamplesize

小葫芦

你这两个方法既然都是接收一个Bitmap的参数,那么在调用时,你肯定已经将图片读取到内存中了。造成内存飙升是肯定的。
如果要进行图片压缩,那么最好接受图片的存储位置,在读取的时候进行压缩,这里可以通过Options这个类来进行设置,然后进行保存。
在图片压缩的问题上,尽量不要将原图加载进内存,如果已经创建了原图的实例,那么内存就很容易爆掉的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板