在安卓相机上实现“Burst mode”功能

5
我正在尝试在Android相机上实现连拍模式(目前是在ICS上)。我在网络上搜索了一些关于这个功能的文档,并遇到了几个问题:
  • 需要保存(可能在异步任务中)每个捕获的图像值,然后对其进行处理并保存在SD卡中。

  • 可能要在连续模式下捕捉图像时处理堆。

迄今为止,这是我调查这个问题时得到的第一印象。有人能指导我在哪里可以获取更多信息,例如算法或源代码吗?
感谢您的帮助。 Udi
2个回答

5
您可以将此代码作为基准进行检查:https://github.com/rdasxy/android-burst-camera。请先查看此链接:http://developer.android.com/guide/topics/media/camera.html。 在预览时,请使用TextureView(您需要将硬件加速添加到AndroidManifest.xml),而不是SurfaceView。 如果您尝试将图片缓存在内存中,特别是如果您将图片大小设置为较大值,则可能很快就会用完堆空间。因此,请在接收到数据后立即在方法pictureCallBack.onPictureTaken中使用例如AsynchTask将数据保存下来。请检查(测量!)您的设备内部存储器的写入速度与sdcard写入速度的差异。如果需要,您可能会获得更高的整体处理性能,当首先保存到设备的内部存储器并稍后再移动到sdcard时。还可以尝试通过将largeHeap=true添加到AndroidManifest.xml来激励Android系统为您提供更大的堆空间。

那个链接的源代码中哪里有爆炸?它不是直接保存到SD卡吗?'largerHeap=true'不是一个好的提示。另请参阅https://dev59.com/DF4c5IYBdhLWcg3w6N07 - Spindizzy

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接