Android相机开启会延迟活动负荷

iRa*_*oda 1 android android-camera

我正在尝试打开相机并使用显示SurfaceView。这使活动的加载延迟了很长时间。所以我想知道打开相机的最佳做法是什么。

fad*_*den 5

来自http://developer.android.com/training/camera/cameradirect.html

获取Camera对象的实例是直接控制相机的第一步。正如Android自己的Camera应用程序所做的那样,推荐的访问相机的方法是在从onCreate()启动的单独线程上打开Camera。这种方法是一个好主意,因为它可能需要一段时间,并且可能会使UI线程陷入困境。在更基本的实现中,可以将打开相机的操作推迟到onResume()方法上,以方便代码重用并使控制流程保持简单。

因此,官方建议使用单独的线程。这将意味着修改活动以能够处理尚未打开相机甚至可能无法完全打开相机的状态。

如果您对多线程和Android应用程序开发不满意,最好让Activity开始停止。在大多数设备上,相机打开速度非常快。