По просьбам нуждающихся немного про оптимизацию системной памяти в Android, о том как ее включить и зачем это делают. Ничего нового я не открою, однако по возможности постараюсь все просто расписать.
Оптимизация системной памяти Android
Первым делом немного терминологии о вспомогательных методах работы памяти:
Swap — создает блоки подкачки во внутренней памяти или в памяти флеш-карты, скорость работы напрямую зависит от скорости накопителя, однако пользователю эта разница вряд ли будет заметна.
zRam — создает блоки подкачки в оперативной памяти, что делает этот способ намного эффективнее.
Зачем оно вообще нужно и кому?
В первую очередь эта опция поможет людям, которые часто страдают от того, что приложения выгружаются из оперативной памяти. Включение оптимизации памяти в настройках позволяет ОС Android «перемещать» части приложений или приложения полностью из оперативной памяти во «вспомогательную».
Стоит отметить, что в теории включение оптимизации системной памяти android может сэкономить заряд аккумулятора вашего устройства.
Суть логики проста — при каждом новом запуске приложения расходуется N-ное количество энергии. Важно знать, что в момент запуска приложения происходит нагрузка на процессор, он повышает частоты, тем самым обеспечивая быстрый запуск приложения. Вот именно в этот момент и происходит вся экономия — если приложение не выгружалось(закрывалось) из памяти, то и затрат на новый запуск не будет, т.е нагрузка меньше.
Однако тестов такой экономии я не проводил, т.к. в значительном приросте времени работы аккумулятора сомневаюсь.
Как включить оптимизацию системной памяти Android?
Опция включается так:
Настройки — Дополнительные настройки — Для разработчиков — Оптимизация системной памяти.
Как включить пункт меню для разработчиков:
Заходим в меню настроек и ищем там раздел «О телефоне», открываем. Открыв его скролим вниз и ищем «Номер сборки», тяпаем по нему семь раз
Как часто система будет пользоваться такой возможностью?
За вероятность/количество обращений к zRam, отвечает функция под названием «Swappiness», по умолчанию в моем смартфоне указано значение 100 — это означает что в 100% случаев приложения будут обращаться к zRam за помощью.
Как поменять значение Swappiness?
Самый простой способ, это скачать терминал и прописать в нем:
echo «60» > /proc/sys/vm/swappiness
где 60 это наше значение от 1 до 100.
либо идем по пути:
/proc/sys/vm/ открываем файл swappiness и меняем число от 1 до 100.
Как проверить работает ли оптимизация памяти?
В моем смартфоне оптимизация включена по умолчанию, проверить ее работу можно двумя способами:
- Скачать программу Diskinfo. После установки заходим в нее и в самом низу ищем пункт swap. Если пункт присутствует, значит оптимизация работает.
- Запустить 5-6 приложения и посмотреть не выгружаются ли они.
Что касается вариантов настройки оптимизации:
По умолчанию в моем девайсе было выставлено значение «Средняя», при таком выборе swap файл равен 1ГБ. Остальные варианты видимо меняют размер Swap в большую или меньшую сторону.