Activity.finish (), но активность остается загруженной в память
Когда я запускаю свое приложение в отладчике, я получаю основной stream и 3 streamа связующего.
При нажатии кнопки я вызываю Activity.finish () , который выглядит так, как будто он завершает действие, когда пользовательский интерфейс закрывается и возвращается на главный экран.
Однако в отладчике он по-прежнему показывает основной stream и 3 связующих streamа как « (работает) ».
Я удивлен, почему это происходит. Тем более что приложение вызывает Activity.onResume (), когда я запускаю его снова после выхода из приложения.
В настоящее время я переопределяю эти методы в Activity, но я вызываю соответствующие суперфункции в каждом из них:
- OnDestroy ()
- OnPause ()
- onResume ()
- onSaveInstanceState ()
Любая помощь или совет по этому поводу очень ценится!
Вы не контролируете, когда ваше приложение покидает основную память, что делает ОС. Посмотрите внимательно на Activity.finish …
Вызовите это, когда ваша деятельность будет завершена и должна быть закрыта. ActivityResult распространяется на тех, кто запустил вас через onActivityResult ().
Обратите внимание, что ничего не говорится о памяти. Что касается вызова Activity.onResume, это именно то, что вы ожидаете от жизненного цикла; помните, что onResume вызывается не только после возобновления, но даже когда приложение запускается после onCreate.
Хотя не совсем то, что вы просили, я предлагаю вам прочитать эту статью о кнопках выхода, в которой говорится о чем-то очень важном
[Activity.finish] в точности эквивалентен нажатию кнопки «Назад».