Android 安卓:拍照时冻结

Android 安卓:拍照时冻结,android,asynchronous,camera,freeze,Android,Asynchronous,Camera,Freeze,我拍照时有2秒钟的冻结(无预览),如下所示: Camera cameraBack = Camera.open(CameraInfo.CAMERA_FACING_BACK); // 0.400 sec ... cameraBack.startPreview(); // 0.800 sec ... cameraBack.takePicture(null, null, null, new Camera.PictureCallback() {public void onPictureTaken(byte

我拍照时有2秒钟的冻结(无预览),如下所示:

Camera cameraBack = Camera.open(CameraInfo.CAMERA_FACING_BACK); // 0.400 sec
...
cameraBack.startPreview(); // 0.800 sec
...
cameraBack.takePicture(null, null, null, new Camera.PictureCallback() {public void onPictureTaken(byte[] data, Camera camera) {...}}); // 0.900 sec
所以我尝试在异步线程中运行它:

new Thread(new Runnable() {
    public void run() {
        ...
    }).start();
但这并没有改变任何事情。事实上,我在后面的文档中看到,这些函数已经在独立线程上执行了

问题是:这种冻结破坏了我的用户体验,更糟糕的是,有时由于CPU开销而无法拍摄照片:

Suspending all threads took: 7.659ms
我怎样才能解决这个问题