Введение.Мне часто задают вопросы пользователи программы mcTweaker с просьбой разъяснить методику настройки того или иного параметра. В статье Нужен ли тасккиллер в Android я описал некоторые теоретические основы работы системы управления памяти в Android. Но, до сих пор остается не ясным практический аспект данного вопроса. По просьбам читателей форума 4PDA я описал практическую методику настройки параметров OOM Killer`а. Этап I.Выставляем в программе минимальное значение из представленных в списке. Выставлять произвольные значения вручную, на данном этапе, не имеет смысла. Вообще, это имеет смысл только в очень особых случаях и требует достаточно глубокого понимания сути процесса. Для большинства пользователей достаточно шаблонов. Итак, выставляем минимальные значения.Далее, надо попользоваться устройством некоторое время достаточно активно. Запускать какие-нибудь тяжелые приложения (Opera, просмотр видео, навигационные программы). При этом надо наблюдать за поведением интерфейса вцелом. Если уровни OOM слишком низкие для данной прошивки и устройства, то, через некоторое время начнется заметное подтормаживание интерфейса. Подчеркиваю, что требуется некоторое время, чтобы этот эффект проявился, т.к. память не заполнится сразу. Если тормоза проявились, нужно переключить OOM Levels на одну ступень вверх. И далее, повторять этот пункт, пока тормоза сохраняются. Таким образом, необходимо найти минимальные значения, при которых работа интерфейса начинает Вас удовлетворять. Не следует сразу выставлять очень большие значения, т.к. у всего есть свои плюсы и минусы. А минус больших значений OOM Levels в том, что страдает многозадачность. При запуске больших приложений, OOM Killer начинает вытеснять другие приложения. И,чем больше уровни, тем меньше приложений будет оставаться в памяти. Этап II.Если плавность работы интерфейса Вас удовлетворяет, необходимо наблюдать за многозадачностью. Если Вас всё устраивает - можно успокоиться и считать процесс настройки завершенным. Если Вас начинает беспокоить, что, например, навигационная программа вылетает при временном переключении на другие программы (входящий звонок, например), или прекращается работа плеера в фоне, придется искать компромисс между плавностью интерфейса и многозадачностью. Уровни придется снижать.Иногда такого компромисса достичь не удается. Чаще всего это происходит на прошивках, портированных с других устройств с большим объемом оперативной памяти (RAM). Эти прошивки изначально работают в условиях дефицита памяти. Для решения этой проблемы можно посоветовать пользоваться виджетами mcTweaker. Они позволяют быстро переключаться между несколькими, заранее выбранными, значениями. При этом, для компенсации тормозов при низких значениях OOM Levels можно временно повышать минимальную частоту процессора, виджеты позволяют создать комплексный шаблон: переключать OOM Levels + частоту CPU одним нажатием. Мой опыт оптимизации "тяжелых" прошивок.Когда у меня на HTC Desire стояла прошивка MIUI (без Sense). Я просто выставлял уровень ...,40 и этого хватало на все случаи жизни. Сейчас у меня стоит прошивка RunnyROM v6.1.1, портированная с HTC Sensation XL (я вынужден часто менять прошивки для отладки программы). Эта прошивка очень показательна с точки зрения оптимизации памяти и процессора.Теперь у меня есть 2 преднастроенных шаблона:
|
Статьи >