android之图片压缩

本文探讨了Android应用中图片加载可能导致的OOM问题,解释了如何估算图片占用内存的大小,并介绍了两种常见的压缩方法——采样压缩和质量压缩。通过合理压缩,可以防止大图片导致的内存溢出,确保应用稳定运行。
摘要由CSDN通过智能技术生成

移动开发中,对图片的处理并不像web那样简单(web中只需要一张图片的url就可以显示在网页中),在app中,如果加载一个大图片,很有可能会出现OOM的问题,其根本原因在于,当加载大图片时,图片所占用的内存空间极有可能超过了当前app剩余的内存容量,甚至是超过了app最大的内存空间。 有人可能会问,我加载的图片明明只有2~3M而已,而且现在手机的内存容量都这么大,怎么会超出呢?那下面来说说我的理解(当然有参考过大牛的文章,大神们不要拍砖哈)


一、如何得知一个app的最大内存空间

首先要解除的一个疑惑是:手机的内存容量并不代表app的最大内存空间,系统对每个app都有它默认的内存占用空间,当然也可以调节。那么如何知道app的最大内存空间呢,可以用下面两个简单的方法:

1、使用代码

Runtime.getRuntime().maxMemory();

2、使用adb命令

adb shell dumpsys meminfo $package_name or $pid  //使用程序的包名或进程id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值