Выполнение вызовов API - это асинхронная операция, она требует времени и, что более важно, работает в фоновом потоке.Когда вы нажимаете кнопку «назад», пользователь обычно хочет вернуться назад, но выполнение вызовов API будет иметь два недостатка: либо вам придется заставить пользователя ждать ответа на вызов, а затем соответствующее сообщение, оно никогда не будетбеспроблемный опыт и вызовет плохой UI / UX, во-вторых, вы не можете запустить другое действие между вызовами API, вызов API никогда не завершится, потому что когда действие удаляется из стека, вызывается onDestroy()
, и оно уничтожается иВы также можете получить ошибку.
Я бы предложил сделать вызов API и извлечь данные в методе onStart()
.После этого, когда пользователь нажимает кнопку «Назад», вы не выполняете вызов API, вы можете получить доступ к уже извлеченным данным и делать все, что захотите.
Если пользователь каким-либо образом нажимает кнопку назад, прежде чем данные будут готовы,Вы можете получить NullPointerException
тост.Вы можете просто проверить это перед отображением