Я бы, вероятно, запустил Service
с отдельным потоком, чтобы сделать это в onDestroy()
ключевых действиях, возможно, отслеживая время последнего запуска в службе, чтобы убедиться, что тяжелая работа сделано только каждые несколько минут. onDestroy () не гарантирует, что будет гарантировано , который будет вызываться для каждого вида завершения Деятельности, но это надежно при нормальном уничтожении Действия, например, из-за отказа от Действия. Просто убедитесь, что все, что он делает с диском, происходит вне потока пользовательского интерфейса.