我正在尝试在 android 的相机上实现连拍模式(目前在 ICS 上) 我在网上搜索过,试图找到一些关于此功能的文档,但遇到了几个问题:
需要保存(可能在 asynctask 上)每个捕获的图像值,然后对其进行处理并将其保存在 sd 卡中
可能在连续模式下捕获图像时处理堆
到目前为止,这是我在调查这个问题时得到的第一印象,有人可以指导我在哪里可以获得更多信息,算法甚至源代码吗?
感谢您的帮助。 乌迪
最佳答案
您还可以检查此代码作为基线:https://github.com/rdasxy/android-burst-camera .
还要先检查一下:http://developer.android.com/guide/topics/media/camera.html .
对于预览,请使用 TextureView
(您需要向 AndroidManifest.xml 添加硬件加速)而不是 SurfaceView
。
如果您尝试将图片缓存在内存中,您可能会很快用完堆,尤其是当您将图片大小设置为较大的值时。因此,在方法 pictureCallBack.onPictureTaken
中收到数据后立即保存数据,例如使用一个异步任务。检查(测量!)设备内存的写入速度与 SD 卡写入速度的对比。如果先保存到设备的内部存储器,然后在需要时将其移动到 SD 卡,您可能会获得更高的整体处理性能。还尝试通过将 largeHeap=true
添加到 AndroidManifest.xml
关于android - 在安卓相机上实现连拍模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13140333/