Разрабатываю приложение, в котором долгоиграющие задачи выполняются внутри службы.
Чтобы не писать отдельный метод под каждую задачу, сделал в службе один метод, принимающий анонимный объект Runnable с произвольным кодом внутри. Через этот объект в службу попадает и ссылка на Activity, которая там задерживается, пока задача не будет завершена (от секунд до минуты), Activity при этом может закрываться.
Допустимо ли такое в "серьёзной" разработке? Или подобных ситуаций нельзя допускать ни в коем случае?
а если снова вернуться на экран, снова запустить процесс и снова повторить? Ваш вопрос следствие неудачного проектирования и такое поведение недопустимо
Любая утечка - это серьёзный баг.
Если я правильно понял, и служба, это Service, то недопустимо.
Во-первых, непонятно, как вообще в сервисе выполнять тяжёлые задачи. Последние версии андроида жёстко это ограничивают. Вместо сервисов рекомендуется использовать WorkManager
Во-вторых передавать ссылки на активити\фрагменты в долгоживущие сущности вообще не стоит, так как вероятность утечки велика.
Читал про утечки, что они накапливаются и поедают системную память. А здесь у меня они короткоживущие, не будут накапливаться.
Но раз вы так категорически ответили, буду ориентироваться на это.