onActivityResult вызывается перед onDestroy - PullRequest
5 голосов
/ 26 июня 2011

Внутри MainActivity.java я делаю следующий вызов:

Intent activity = new Intent(this, CameraDetectionActivity.class);
startActivityForResult(activity, request);

И в какой-то момент в CameraDetectionActivity я запускаю следующие 2 строки (все происходит в потоке GUI):

setResult(Activity.RESULT_OK);
finish();

Я ожидаю, что onDestroy будет вызываться до onActivityResult в MainActivity, но они вызываются в обратном порядке. Есть идеи, почему это происходит?

1 Ответ

9 голосов
/ 26 июня 2011

onDestroy вызывается в какой-то момент позже, и это может быть сколь угодно долго. Мы хотим возобновить следующее действие как можно быстрее, чтобы пользовательский интерфейс был там, а затем позаботиться об остановке и уничтожении предыдущих действий только после переключения пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...