Действия перезапускаются в некоторых сценариях ios как изменение ориентации, в этом нет ничего плохого.
Вместо того, чтобы препятствовать перезапуску активности, которая является частью ее жизненного цикла, еще одна вещь, которую вы могли бы делать и то, что я рекомендую вам сделать, это использовать ViewModel для выполнения этих задач, как это рекомендуется в рекомендуемой архитектуре приложения , чтобы при перезапуске вашей активности и запросе ее ViewModel:
viewModel = ViewModelProviders.of(this).get(MainActivityViewModel::class.java)
он использует ту же ViewModel, и задачи продолжаются, как будто ничего не произошло.
На самом деле, если вы хотите следовать этой архитектуре, задачи должны выполняться в репозитории, но ViewModel должен отвечать за него, и он не будет воссоздан при перезапуске действия.
Я рекомендую вам выполнить кодовую метку Android Kotlin Основы 05.1 .