#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 после освобождения?