Я столкнулся со странным явлением в отношении методов жизненного цикла моей дочерней активности. Если я запускаю и закрываю действие достаточное количество раз, в конце концов наступает момент, когда по какой-то причине при запуске onPause
вызывается сразу после onCreate
(пропуская onResume
), за которым затем следует onResume
, вызываемый дважды подряд. Это приводит к RuntimeException
в моем onResume
.
Вот код, который запускает мою активность:
Intent intent = new Intent(MainActivity.this, RecorderActivity.class);
startActivityForResult(intent, AV_CAPTURE);
Мой onPause:
protected void onPause() {
camera.stopPreview();
camera.setPreviewCallback(null);
camera.release();
camera = null;
super.onPause();
};
Я не совсем уверен, что еще я могу предоставить здесь, все довольно просто. finish()
вызывается для закрытия активности и т. д.
Я также, вероятно, должен упомянуть, что активность запускается из интерфейса Javascript, подключенного к WebView. Еще одна интересная вещь, о которой следует упомянуть, заключается в том, что установка точки останова в любом месте в первом блоке кода выше, похоже, предотвращает возникновение проблемы.
Camera.open()
в try catch, но мне действительно хотелось бы знать, что происходит. - person Drazen Bjelovuk   schedule 28.05.2014