Комментарии 2
А что будет, если во время выполнения корутины мы удалим View с экрана и произойдет `onDetachedFromWindow`? Судя по всему корутина не отменится и произойдет утечка памяти. К тому же выполнение асинхронных операций внутри View говорит о плохой архитектуре, желательно выпость такие операции в ViewModel или другие подобные штуки.
Отдельное спасибо за код в виде картинок, очень удобно копировать
Да, действительно, если удалить View с экрана, а корутина была запущена во View, то необходимо проследить и отменить выполнение корутины.
Действительно если какая-то лишняя логика, особенно асинхронная, выполняется внутри View - это не очевидное и проблемное решение. Однако никто не мешает имплементировать анимацию используя корутины.
Да, я думал делать картинками или кодом, но решил сохранить в этом случае, как в оригинале. В следующий раз, постараюсь делать либо ссылку на GitHub, либо вставлять код вместо картинок.
Безопасная приостановка в Android View. Прощайте обработчики, поприветствуем корутины