Я нахожусь в ситуации, когда у вас есть несколько действий с различными действиями, которые показывают различных изображений (обычно загружаемых Glide).
Представьте, что мы помечаем .skipMemoryCache(true)
в такой архитектуре:
![enter image description here](https://i.stack.imgur.com/vJluJ.jpg)
Сделав это (все действия складываются и доступны нажатием кнопки назад), я понял следующее:
Телефоны, такие как OnePlus 3 (2016, 3 года), не будут зависать, но это приведет к высокой температуре и плохому восприятию пользователя (это задерживает рендеринг). Это был профиль OnePlus 3:
![enter image description here](https://i.stack.imgur.com/yJQfS.png)
Телефоны, такие как Samsung S4 Mini (2013, 6 лет), не будут зависать, но прекратят загрузку изображений.
Телефоны, такие как Motorola Moto G (2013, 6 лет и немного лучше, чем Samsung S4 Mini), зависали после двух или трех действий с растровыми изображениями.
Теперь мой вопрос, согласно руководствам о том, как избежать утечек памяти и ошибок OOM (Out Of Memory), я бы не нашел что-то вроде «не складывать действия с высокими ресурсами». Это то, что я делаю неправильно, или действия должны обрабатывать что-то особенное, когда onPause()
?