【发布时间】:2023-03-24 02:00:01
【问题描述】:
我正在尝试在 android 的相机上实现连拍模式(目前在 ICS 上) 我在网上搜索了一些关于此功能的文档并遇到了几个问题:
需要保存(可能在异步任务上)每个捕获的图像值,然后对其进行处理并将其保存在 sd 卡中
在连续模式下捕获图像时可能会处理堆
到目前为止,这是我在调查这个问题时得到的第一印象,有人可以指导我在哪里可以获得更多信息,可能是算法甚至源代码?
感谢您的帮助。 乌迪
【问题讨论】:
我正在尝试在 android 的相机上实现连拍模式(目前在 ICS 上) 我在网上搜索了一些关于此功能的文档并遇到了几个问题:
需要保存(可能在异步任务上)每个捕获的图像值,然后对其进行处理并将其保存在 sd 卡中
在连续模式下捕获图像时可能会处理堆
到目前为止,这是我在调查这个问题时得到的第一印象,有人可以指导我在哪里可以获得更多信息,可能是算法甚至源代码?
感谢您的帮助。 乌迪
【问题讨论】:
您也可以将此代码作为基线检查:https://github.com/rdasxy/android-burst-camera。
还要先检查一下:http://developer.android.com/guide/topics/media/camera.html。
对于您的预览使用TextureView(您需要将硬件加速添加到您的AndroidManifest.xml)而不是SurfaceView。
如果您尝试将图片缓存在内存中,您可能会很快用完堆,特别是如果您将图片大小设置为较大的值。因此,在方法@987654326@ 中收到数据后立即保存数据,例如使用一个异步任务。检查(测量!)设备内部存储器的写入速度与 sdcard 写入速度的对比。首先保存到设备的内部存储器并在需要时将其移动到 sdcard 时,您可能会获得更高的整体处理性能。还可以尝试通过将largeHeap=true 添加到您的AndroidManifest.xml 来激励android 系统为您提供更大的堆大小
【讨论】:
这个问题有点类似于this question on stack overflow。该问题中的代码可能会有所帮助。
【讨论】: