Android Zxing 读取本地图片不得不说的坑

在使用Zxing库处理本地图片二维码读取时,遇到内存溢出(OOM)问题。通过调整代码,在onActivityResult中处理大图片,避免OOM。当图片大小超过设定阈值时,等比例缩小Bitmap。注意,图片不能过小,否则可能导致NotFoundException。了解更多Bitmap内存优化策略,参考相关博客。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用Zxing库来实现 二维码生成,扫描的时候。都是相当简单的,但是 在读取本地图片上,我遇到了一些问题,把问题和解决的方法贴出来,希望能为以后提供参考:

先贴几个部分的代码:

如果有尝试写过,那么第一个代码是很好理解的。
这个 onActivityResult 方法在 CustomScanActivity(也就是自定义的扫描的Activity)中,,用于处理从相册中文件,请看一下我的注释

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Uri sourceUri = null;
        switch (requestCode){
            case SELECT_PHOTOS:

                    // 首先获取到此图片的Uri
                    sourceUri = data.getData();

                    try {
               
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值