Опубликовано: 23.10.2017
Такой механизм использования памяти в андроиде. Неиспользуемые процессы не выгружаются, а остаются висеть в оперативке, кагбе в кэше. Официально не рекомендуется прибивать их насильно тасккиллерами, так как фоновые активити все равно перезапустятся, а кэш чистить почти что бессмыссленно. К тому же повторный запуск фоновых активити еще и жрет проц.
Только лично для меня проблемы две:
1) при запуске жирного приложения на вид (повторяю, на вид, тестов не проводил) в свободную оперативку оно грузится легче и быстрее, чем в забитую, пусть и неиспользованым кэшем (очевидно что выгрузить кэшированные процессы тоже надо время)
2) ООМ-киллер в андроиде моментально прибивает любое жирное приложение, когда пользователь покидает его активите (по-русски сворачивает). То есть тот же 2гис в фоне не висит почти никогда, если в телефоне меньше чем 2 гига памяти.
Впринципе, на маленьких, оптимизированых приложениях андроид себя ведет превосходно (просто летает). Другое дело, что разработчики - быдло, и пишут на скорость (тот же 2гис ярчайший пример, жрать 150 метров оперативы это надо быть священными быдлокодерами). Так что винить андроид и пытаться изменить работу менеджера памяти особого смысла нет. Пишите нормальный софт.