Не удается безопасно освободить камеру

#android #camera #release #preview

#Android #камера #освободить #Предварительный просмотр

Вопрос:

Я разрабатываю приложение для камеры Android. Он работает нормально, но когда я пытаюсь освободить камеру, он говорит Method called after cameraRelease() . Я использую отдельный CameraPreview.java класс для предварительного просмотра. И инициализируюсь в моем MainActivity.java классе, добавив следующий код внутри onCreate() метода. cameraPreviewLayout.addView(mPreview) Как безопасно освободить камеру? Я перепробовал почти все способы stackoverflow. Но ни один из них не сработал для меня. И ответ гораздо более ценится. Заранее спасибо

Комментарии:

1. Если бы вы могли предоставить код, который вы пробовали, вместе с получаемыми вами сбоями, я могу вам помочь

2. @lain Я отредактировал свой вопрос. Пожалуйста, посмотрите на это

3. Хорошо, и в чем ваш сбой, т.Е. В чем ошибка и трассировка стека?

4. Спасибо @lain, я решил свою проблему, просто добавив отдельный класс CameraPreview. И такой конструктор, как CameraPreview(context,camera) . И я добавил его в MainaActivity следующим cameraLayout.addView(mPreview) образом. Но теперь приложение вылетает, когда я закрываю приложение. Я освобождаю камеру, используя следующий метод. mCamera.stopPreview() mCamera.release() . Но когда я закрываю приложение, оно выходит из строя и выдает следующую ошибку. Метод вызывается после Camera.release() . Что я могу сделать?

5. Показывает ли журнал, какой метод вызывается после освобождения? Когда вы вызываете Camera.release()? Устанавливаете ли вы mCamera= null после освобождения?