求解自定义相机短时间拍多张照片导致OOM如何解决
我现在在做一款自定义相机,需要有一个快速拍照的功能,就是用户可以短时间内一直点那个拍照按钮,不需要等之前那张照片处理完,由于底层相机的原因,我没张图片都需要做旋转,有些需要做剪裁,所以目前我都得转成Bitmap来处理
现在的一个方案是这样的:
用户点击一下拍照,我就开一个线程,这个线程只是用来实现文件流保存图片的,不会导致OOM,同时每次开启一个线程我就把这个线程放到List容器中,线程执行结束后移除,当list容器中线程个数为0时就是用户这短时间里面要的图片都用文件流的形式保存完了
这时候我会开启另一个线程,会优先处理最后一张图片来给用户提前预览,然后紧接着用for循环对之前未处理的图片进行一张张的处理,每张图片我最后都有recycle和值为null回收
但是现在还是会一直出现OOM的情况,好多方法都试过了,目前真的束手无策,目前自身技术也还处于刚起步,希望各位大神指点一下思路或者解决的方案,我不知道byte[]数组是否可以直接进行旋转剪裁的操作而不需要读成Bitmap,是否需要到底层实现?
真心求指点,已经卡了好久了,跪谢!!
现在的一个方案是这样的:
用户点击一下拍照,我就开一个线程,这个线程只是用来实现文件流保存图片的,不会导致OOM,同时每次开启一个线程我就把这个线程放到List容器中,线程执行结束后移除,当list容器中线程个数为0时就是用户这短时间里面要的图片都用文件流的形式保存完了
这时候我会开启另一个线程,会优先处理最后一张图片来给用户提前预览,然后紧接着用for循环对之前未处理的图片进行一张张的处理,每张图片我最后都有recycle和值为null回收
但是现在还是会一直出现OOM的情况,好多方法都试过了,目前真的束手无策,目前自身技术也还处于刚起步,希望各位大神指点一下思路或者解决的方案,我不知道byte[]数组是否可以直接进行旋转剪裁的操作而不需要读成Bitmap,是否需要到底层实现?
真心求指点,已经卡了好久了,跪谢!!
...全文
相关推荐
自定义相册实现多选照片解决oom
自定义相册实现多选照片,解决oom,还可以加上相机,但是本人比较懒。
自定义相机功能及查看指定文件夹中的照片
自定义相机拍照,拍完存在指定文件夹中,可以查看指定文件夹中的照片,以照片墙的形式展示,长按照片可删除,自身有sd以及文件夹是否为空的判断,增大了手机heapsize,不会闪退。
安卓GIF相关-android多张图片合成gif动态图里面涉及到android7.0相机权限的处理调用相机拍照后图片过大造成OOM的处理还有几个封装的请求工具类.rar
android多张图片合成gif动态图,里面涉及到android7.0相机权限的处理,调用相机拍照后图片过大造成OOM的处理,还有几个封装的请求工具类.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
自定义相机
Android ,自定义相机,更新UI,surface+camera 相册选择图片 裁剪并数据处理
调用系统相机以及相册并将图片上传(涉及图片压缩)
实现调用系统相机以及相册的功能,涉及遇到大图片导致OOM的解决方案—图片压缩,以及手机的照相机权限被人为手动禁止,还有将图片Bitmap转为String类型的方法。


