13

我有一个 Android 应用程序,其相机配置为将其预览发送到 TextureView。在我的 SurfaceTextureListener 的 onSurfaceTextureUpdated 方法中,我使用以下方法将预览帧作为位图拉出:

textureView.getBitmap(existingBitmap);

它工作正常,但需要很长时间(720x1280 图像大约需要 200-250 毫秒)。看起来这应该快得多。关于如何提高此操作的性能的任何想法?

4

1 回答 1

-1

使用此命令获取预览会从预览中生成一个新的位图,这就是应用程序需要这么长时间的原因。我的建议是在此链接中解释的后台线程中执行此操作:

http://developer.android.com/reference/android/os/AsyncTask.html

它还允许您在 onPostExecute 函数中堆叠需要首先完成此操作的操作。

这将允许主 UI 线程运行并响应用户在此期间可能需要执行的任何其他操作。

这可能不是您正在寻找的完美答案,但希望它有所帮助。

于 2014-07-21T10:59:20.587 回答