Что означает оптимизация в телефоне. Оптимизируем Android без сторонних программ


Многие владельцы Android-гаджетов сталкиваются с проблемой медленной работы устройства и его торможениями. Как ускорить свой планшет или смартфон? Мы дадим несколько полезных и реально помогающих советов.

Сначала стоит сделать небольшое введение. Андроид – операционная система, почти такая же, как привычный Windows. У нее есть фоновые процессы, приложения, оперативная и внутренняя память, процессоры. Эти факторы в разной степени влияет на скорость работы смартфона или планшета. Поэтому вопрос об ускорении работы Android решается комплексным путем.

Для начала давайте ускорять гаджет своими силами.

Своими силами

Отключить неиспользуемые функции. Очень банально, но помогает. Отключите Wi-Fi, Bluetooth, 3G/LTE, Режим модема, GPS и прочие функции, если вы не используете их в данным момент.

Режим энергосбережения

Самый простой способ ускорить работу Android – поставить режим электропитания/энергосбережения «Производительность» или «Отключено». Точная формулировка зависит от версии прошивки и устрйоства. Это может заметно повысить скорость системы, однако немного нагрузит аккумулятор, из-за чего он станет разряжаться быстрее. Хотя вряд ли разница будет сильно ощутима.

Ускорение GPU

У любого девайса на Android в настройках есть раздел «Для разработчиков». Он иногда скрыт от кривых рук посторонних глаз, поэтому его нужно разблокировать. Зайдите в «Настройки» - «О телефоне» и несколько раз кликните по пункту «Номер сборки». Теперь перейдите в новый раздел настроек и поставьте галочку напротив пункта «Ускорить работу GPU». Если вы его не обнаружите, значит данная функция работает автоматически, шаг можно пропустить.

Отключение анимации

Анимация при открытии окон и переходах может негативно сказаться на скорости работы смартфона, особенно бюджетного. Визуально смотрится приятно, но гораздо важнее быстродействие.

Зайдите в настройки для разработчиков и найдите два меню: «Окно: масштаб» и «Переход: масштаб». В обоих отключите анимацию.

Четкий подход к установке и хранению приложений

Здесь есть несколько банальных, но очень важных советов:

  • Устанавливайте и храните в памяти только те программы и игры, которые используете регулярно.
  • По возможности старайтесь устанавливать легкие приложения, которые не требовательны к системным ресурсам.
  • Безжалостно удаляйте игры и программы, которыми не пользуетесь.

Важно понимать, что забитая физическая память – одна из причин нестабильной работы устройства. Освободите ее, удалив ненужные приложения и игры .

Рабочий стол. Виджеты. Живые обои.

Три показателя внесены в один подзаголовок не случайно. Важно держать рабочий стол в порядке, не нагромождать его иконками, виджетами и распрекрасными живыми обоями. Это, конечно, красиво, но быстродействие требует жертв.

Автозапуск и фоновые процессы

Как только вы включаете смартфон или планшет, на нем автоматически запускаются различные службы и фоновые приложения. Очень часто в этом списке встречаются совершенно ненужные и лишние программы, которыми вы не пользуетесь. Их необходимо отключить:

  • Зайдите в Настройки - Приложения - Работающие.
  • Отключите те программы и игры, которые не нужны. ВАЖНО: нельзя трогать системные службы вроде Сервисов Google, Настроек и т.д.

Отключение синхронизации аккаунтов

К любому смартфону или планшету, работающему на Android, можно подключить несколько аккаунтов: Gmail, VK, Twitter и прочие. Они автоматически синхронизируются с устройством, при этом потребляя ресурсы системы и интернет.

Зайдите в «Настройки» - «Аккаунты и синхронизация» и отключите синхронизацию с теми профилями, которые не нужны.

Автообновление приложений

По умолчанию наш любимый маркет Google Play автоматически обновляет все установленные игры и программы. Разумеется, это может стать причиной торможений системы, поэтому эту функцию также рекомендуется отключить. Об этом более подробно рассказано в специальной статье .

На этом базовые возможности для «разгона» Андроида закончились – пора обратиться к сторонним программам и методам.

Специальные приложения

В магазине приложений есть несколько достойных программ, предназначенных для ускорения Андроида. Самая популярная и признанная – DU Speed Booster (Cleaner). Если по какой-то причине утилита вам не понравится (хотя это маловероятно), можно найти альтернативы .

Очистка системы от мусора

Операционной системе «Зеленого Робота» свойственно засоряться файлами кэша, куками, историей скачиваний и посещенных в браузере страниц. Память занимает, значит замедляет работу. Для комплексной очистки системы от мусора и ненужных временных файлов рекомендуем использоваться специальную программу – Clean Master . Есть и достойные альтернативы, найти их в Маркете несложно.

Также ускорению Андроида помогут программы для оптимизации работы батареи. Все взаимосвязано. Отличным решением будет Battery Doctor .

Эти программы автоматически сканируют системы на наличие лишних процессов и данных и с нашего согласия удаляют файлы, папки и прочий мусор. Таким образом освобождается и физическая память, и оперативная, а также разгружается процессор.

Карта памяти

У большинства владельцев смартфонов установлена карта памяти, которая необходима для хранения фотографий, видеороликов, приложений и прочих файлов. Но она также может быть причиной подтормаживания гаджета. Это связано с тем, что карты памяти могут быть либо медленными, либо устаревшими.

Карты MicroSD имеют специальные обозначения (2, 4, 6, 10), отвечающие на скорость обмена информацией. Чем это число выше, тем лучше. Возрастные карты и те, что поставляются в комплектах с девайсами, как правило, относятся к типу 6 и ниже. Это может быть одной из причин медленной работы Андроида. Рекомендуется заменить карту на новую с показателям выше 6.

Прошивка

Если ничего не помогает, то остается единственный выход – перепрошивка на кастомы , наиболее популярным из которых является CyanogenMod.

Кастомные прошивки имеют ряд преимуществ по сравнению со стоковыми:

  • Отсутствие ненужных предустановленных приложений, замедляющих работу системы и засоряющих оперативную память. Как результат, устройство работает стабильно.
  • Богатый функционал (возможность повышения и понижения частоты процессора для экономии заряда и т.д).
  • Своевременные обновления системы (особенно полезно для устройств, которые больше не поддерживаются производителем). С каждым новым обновлением разработчики исправляют ошибки и добавляют именно то, что нужно пользователям, так как в большинстве случаев ведут обсуждения на форумах.

Есть и недостатки:

  • Перепрошивка смартфона несет за собой потерю гарантии и иногда возможность превращения в «кирпич».
  • Неофициальные прошивки иногда имеют некоторые недоработки (например, если телефон имеет две карточки, то они могут отображаться неверно).
  • Обновление до новой версии происходит через Recovery, а не «по воздуху». Причем, как правило, требуется

Блуждая по форумам и разного рода сайтам, посвященным Android, мы постоянно сталкиваемся с советами, как увеличить производительность смартфона. Одни рекомендуют включить swap, другие - добавить специальные значения в build.prop, третьи - изменить переменные ядра Linux. Подобного рода рецептов в разных вариантах можно найти огромное количество, что на XDA, что на 4PDA. Но работают ли они на самом деле?

Введение

Пользуясь самыми разными *nix-системами на протяжении последних десяти лет, я всегда удивлялся, с каким упорством некоторые, казалось бы, грамотные пользователи смартфонов пытаются впихнуть общественности свои идеи оптимальной настройки Android и лежащего в его основе ядра Linux. И ладно бы дело ограничивалось легким тюнингом подсистемы управления виртуальной памятью или включением экспериментальных опций. Нет, обычно нам предлагают применить длиннющие скрипты, изменяющие буквально каждую переменную ядра, перемонтирующие файловые системы с разными странными опциями, включающие swap, активирующие различные системные демоны и выполняющие еще миллиарды различных операций.

Нет, ну можно, конечно, предположить, что ядро Linux, Android и фирменные прошивки для смартфонов разрабатывают безграмотные идиоты, работу которых необходимо кардинальным образом переделывать, но на практике почему-то оказывается, что самые известные инструменты тюнинга, опубликованные на XDA, - это не что иное, как сборная солянка из огромного количества разрозненных рекомендаций, придуманных непонятно кем и неизвестно зачем. Абсурд ситуации доходит того, что в этих инструментах можно обнаружить строки, без изменений скопированные из скриптов для увеличения производительности Linux-сервера в условиях высоких нагрузок (я не шучу, взгляни на содержимое известного скрипта ThunderBolt!).

В целом ситуация более чем запутанная. Все советуют всё, никто не советует ничего, а те, кто что-то понимает, сидят и, попивая чай, смеются над происходящим балаганом. Но попробуем все-таки разгрести всю эту кашу.

Swap

Начнем со swap - самой абсурдной идеи из всех, что только можно придумать для применения в смартфонах. Ее смысл в том, чтобы создать и подключить файл подкачки, за счет чего удастся освободить полезное пространство в оперативной памяти. Сама по себе идея, конечно, здравая, но только если речь идет о сервере, которому интерактивность никуда не упирается. На смартфоне регулярно используемый файл подкачки приведет к неиллюзорным лагам, возникающим вследствие промахов мимо кеша, - достаточно представить, что будет, если приложение попытается отобразить одну из своих пиктограмм, а она окажется в свопе, который придется вновь загружать с диска, предварительно освободив место путем помещения в своп данных другого приложения. Ужас.

Некоторые юзеры могут возразить, что на самом деле после включения swap никаких проблем не возникает, но за это надо благодарить механизм lowmemorykiller, который регулярно убивает особо раздувшиеся и давно не используемые приложения. Благодаря ему девайс с 1 Гб памяти может никогда и не дойти до необходимости сброса данных в своп. Он же и является причиной того, почему в отличие от Linux-десктопа в Android своп не нужен.

Вердикт: очень глупая идея, реализация которой чревата серьезными лагами.

zRAM

Swap действительно очень медленный, и даже на десктопе его существование зачастую неоправданно, но что, если обмануть систему? Создадим виртуальный диск прямо в оперативке с встроенной функцией сжатия данных, подключим его как swap - и вуаля. Функция сжатия данных довольно дешева даже для современных мобильных процессоров, поэтому мы сможем расширить размер оперативки практически без потерь производительности.

Идея настолько правильная, что даже Google рекомендует применять zRAM для основанных на KitKat устройствах в том случае, если объем оперативки не превышает 512 Мб. Загвоздка только в том, что способ работает лишь для современных бюджетников, то есть устройств, основанных на многоядерных бюджетных процах от какой-нибудь MTK и 512 Мб оперативки. В этом случае поток шифрования можно вынести на отдельное ядро и вообще не париться о производительности.

На устаревших устройствах с одним ядром, для которых «гуру форумов» и рекомендуют применение данной технологии, мы вновь получим лаги, причем в довольно большом количестве. То же, кстати, относится и к технологии KSM (Kernel SamePage Merging), которая позволяет объединять одинаковые страницы памяти, освобождая таким образом пространство. Она также рекомендована Google, но на старых девайсах приводит к еще большим лагам, что вполне логично, учитывая постоянно активный ядерный поток, который непрерывно ходит по памяти в поисках дубликатов страниц (а так ли много этих дубликатов на самом деле?).

Вердикт: зависит от устройства, в большинстве случаев замедляет систему.

Seeder

В свое время это приложение наделало много шума и породило множество аналогов. В Сети появилось огромное количество сообщений о якобы феноменальном приросте производительности смартфона после его установки. Доморощенные сборщики кастомных прошивок начали включать его в свои сборки, а автор был объявлен спасителем. И все это при том, что Seeder не выполнял никаких грязных хаков, а просто исправлял один глупый баг Android.

Если вкратце, то баг состоял в том, что некоторые высокоуровневые компоненты среды исполнения Android активно использовали файл /dev/random для получения энтропии/соли. В какие-то моменты буфер /dev/random опустошался, и система оказывалась заблокирована до момента его заполнения необходимым количеством данных. А так как заполнялся он тем, что поступало с разных датчиков, кнопок и сенсоров смартфона, то времени на эту процедуру уходило столько, что пользователь успевал заметить лаг.

Для решения этой проблемы автор Seeder взял Linux-демон rngd, скомпилировал его для Android и настроил так, чтобы он брал случайные данные из гораздо более быстрого (но и намного более предсказуемого) /dev/urandom и каждую секунду сливал их в /dev/random, не позволяя последнему истощиться. Как результат - система никогда не испытывала недостатка в энтропии и спокойно работала.

Данный баг был закрыт Google еще в Android 3.0, и, казалось бы, нам незачем вспоминать о Seeder. Но дело в том, что приложение с тех пор активно развивалось и даже сегодня рекомендуется многими «экспертами» для применения. Более того, у приложения появилось несколько аналогов (например, sEFix), а многие создатели скриптов/инструментов для ускорения до сих пор включают подобную функциональность в свои творения. Иногда это тот же самый rngd, иногда - демон haveged, иногда просто симлинк /dev/urandom на /dev/random.

Все, кто пробовал, наперебой кричат об эффективности решения, однако, если верить Рикарду Серкейре (Ricardo Cerqueira) из компании Cyanogen, в современных версиях Android /dev/random используется всего тремя компонентами: libcrypto (для шифрования SSL-соединений, генерации ключей SSH и так далее), wpa_supplicant/hostapd (для генерации WEP/WPA-ключей) и несколькими библиотеками для генерации случайных ID при создании файловых систем ext2/3/4.

Эффективность приложения в современном Android, по его мнению, связана вовсе не с пополнением пула /dev/random, а с тем, что rngd постоянно пробуждает устройство и заставляет его повышать частоту процессора, что позитивно сказывается на производительности и негативно на батарее.

Вердикт: плацебо.

Odex

Стоковые прошивки смартфонов всегда одексированы. Это значит, что наряду со стандартными для Android пакетами приложений в формате APK в каталогах /system/app/ и /system/priv-app/ (начиная с KitKat) также находятся одноименные файлы с расширением odex. Они содержат так называемый оптимизированный байт-код приложения, уже прошедший через верификатор и оптимизатор виртуальной машины и записанный в обособленный файл (это делается с помощью утилиты dexopt).

Смысл существования файлов odex в том, чтобы разгрузить виртуальную машину и таким образом ускорить запуск приложений (стоковых). С другой стороны, файлы odex мешают вносить в прошивку модификации, создают проблемы с обновлением, и по этой причине многие кастомные ROM’ы (включая CyanogenMod) распространяются без них. Вернуть (точнее, сгенерировать) файлы odex можно разными способами, в том числе с помощью простых утилит/скриптов вроде Odexer Tool. Пользоваться ими легко, и многие «эксперты» советуют это делать.

Проблема только в том, что это чистейшее плацебо. Не обнаружив odex-файлов в каталоге /system, система сама создаст их при следующей загрузке и поместит в каталог /system/dalvik-cache/. Именно этим она занимается, когда при загрузке новой прошивки на экране появляется сообщение «Идет оптимизация приложений…». В отношении приложений из маркета это тоже, кстати, работает. Но на этапе установки софта.

Вердикт: плацебо.

Твики lowmemorykiller

Реализация многозадачности в Android сильно отличается от других мобильных ОС и основана на классической модели. Приложения могут спокойно работать в фоне, в системе нет никаких ограничений на их количество, функциональность при переходе к фоновому исполнению не урезается. Все, как на десктопе, за исключением одной детали: система имеет полное право убить любое фоновое приложение в случае недостатка оперативной памяти или (начиная с KitKat) излишней жадности приложения к ресурсам.

Этот механизм, названный lowmemorykiller, был придуман для того, чтобы, сохраняя черты полноценной многозадачной ОС, Android мог нормально жить в условиях ограниченного объема памяти и отсутствующего swap-раздела. Пользователь может спокойно запускать любые приложения и быстро переключаться между ними, а система сама позаботится о завершении давно не используемых приложений и о том, чтобы в устройстве всегда оставалась свободная память.

В первые годы существования Android назначение данного механизма для многих пользователей было непонятным, поэтому стали популярными так называемые таск-киллеры - приложения, которые время от времени просыпались и завершали все фоновые приложения. Профитом в данном случае считалось большое количество свободной оперативки, что воспринималось как плюс, хотя никаких плюсов в этом, конечно же, не было. Зато было много минусов в виде более долгого переключения между приложениями, повышенного расхода заряда батареи и проблем c пробуждением владельца по утрам (будильник тоже убивался).

Со временем понимание принципов многозадачности пришло, и от таск-киллеров постепенно отказались. Однако их быстро сменил другой тренд - тюнинг самого механизма lowmemorykiller (например, с помощью приложения MinFreeManager). Основная идея метода в том, чтобы приподнять границы заполнения оперативной памяти, при достижении которых система начнет убивать фоновые приложения. Этакий способ «и нам и вам», который позволяет освободить немного памяти штатными средствами, не нарушая идей многозадачности Android.

Но к чему это в итоге приводит? Допустим, стандартные значения границ заполнения памяти - это 4, 8, 12, 24, 32 и 40 Мб, то есть при достижении свободного объема памяти 40 Мб будет убито одно из кешированных приложений (загружено в памяти, но не запущено, это такая оптимизация Android), при 32 - Content Provider, не имеющий клиентов, 24 - одно из редко используемых фоновых приложений, затем в расход идут сервисные процессы приложений (например, сервис музыкального проигрывателя), видимые на экране приложения и текущее запущенное приложение. Разница между последними двумя в том, что «текущее» - это приложение, с которым в данный момент имеет дело юзер, а «видимое» - это то, что, например, имеет уведомление в строке состояния или отображает поверх экрана какую-либо инфу.

В целом все это значит, что в смартфоне всегда будет свободно 40 Мб памяти, которых вполне достаточно для того, чтобы вместить еще одно приложение, после чего проснется поток LKM и начнет очистку памяти. Все ОK, все довольны. Система по максимуму использует память. А теперь представим, что будет, если юзер воспользуется советом доморощенного «эксперта» и поднимет эти значения так, что последнее будет составлять, ну, допустим, 100 Мб (обычно повышаются только три последних значения). В этом случае произойдет одна простая вещь: юзер потеряет 100 – 40 = 60 Мб памяти устройства. Вместо того чтобы использовать это пространство для хранения фоновых приложений, что полезно, так как сокращает время переключения на них и заряд батареи, система будет оставлять его свободным непонятно для чего.

Справедливости ради стоит сказать, что тюнинг LKM может быть полезен для девайсов с совсем уж небольшим объемом памяти (меньше 512) и Android 4.X на борту или для временного увеличения порогов. Некоторые разработчики твиков прямо рекомендуют использовать «агрессивные» настройки только в случае запуска тяжелого софта вроде hi-end игр, а все остальное время оставаться на стандартных. В этом действительно есть смысл.

Вердикт: лучше не трогать.

Твики I/O

В скриптах, публикуемых на форумах, можно часто встретить твики подсистемы ввода-вывода. Например, в том же скрипте ThunderBolt! есть следующие строки:

Echo 0 > $i/queue/rotational; echo 1024 > $i/queue/nr_requests;

Первая дает планировщику ввода-вывода понять, что он имеет дело с твердотельным диском, вторая увеличивает максимальный размер очереди ввода-вывода с 128 до 1024 (переменная $i в командах содержит путь к дереву блочного устройства в /sys, например /sys/block/mmcblk0/, скрипт проходит по ним в цикле). Далее по тексту можно встретить следующие строки, относящиеся к планировщику CFQ:

Echo 1 > $i/queue/iosched/back_seek_penalty; echo 1 > $i/queue/iosched/low_latency; echo 1 > $i/queue/iosched/slice_idle;

Далее следует еще несколько строк, относящихся к другим планировщикам (кстати, обрати внимание на совершенно лишние точки с запятой в конце команд). Что во всех этих строках не так? Первые две команды бессмысленны по двум причинам:

  1. Планировщики I/O в современном ядре Linux сами способны понять, с каким типом носителя информации они имеют дело.
  2. Такая длинная очередь ввода-вывода (1024) совершенно бессмысленна на смартфоне. Более того, она бессмысленна даже на десктопе и применяется на высоконагруженных серверах (из рекомендаций по настройке которых она, видимо, и попала в данный скрипт).

Последние три бессмысленны по той простой причине, что для смартфона, где фактически нет разделения приложений по приоритетам на ввод-вывод и нет механических накопителей, лучший планировщик - это noop, то есть простая FIFO-очередь - кто первый обратился к памяти, тот и получил доступ. И у данного планировщика нет каких-то особенных настроек. Поэтому все эти многоэкранные списки команд лучше заменить на один простой цикл:

For i in /sys/block/mmc*; do echo noop > $i/queue/scheduler echo 0 > $i/queue/iostats done

Кроме включения планировщика noop, для всех накопителей он отключает накопление статистики I/O, что также должно позитивно сказаться на производительности (хотя это всего лишь капля в море, которая будет совершенно незаметна).

Еще один твик, который часто можно найти в скриптах тюнинга производительности, - это увеличение значения readahead для карты памяти до 2 Мб. Механизм readahead предназначен для заблаговременного чтения данных с носителя еще до того, как приложение запросит доступ к этим данным. Если ядро видит, что кто-то достаточно долго читает данные с носителя, оно пытается вычислить, какие данные понадобятся приложению в дальнейшем, и заранее загрузит их в оперативку, позволяя таким образом сократить время их отдачи.

Звучит круто, но, как показывает практика, алгоритм readahead очень часто ошибается, что приводит к лишним операциям ввода-вывода и расходу оперативной памяти. Высокие значения readahead (1–8 Мб) рекомендуются к применению на RAID-массивах, тогда как на десктопе или смартфоне лучше все оставить как есть, то есть 128 Кб.

Вердикт: кроме noop, не нужно ничего.

Твики системы управления виртуальной памятью

Кроме подсистемы I/O, принято также тюнинговать подсистему управления виртуальной памятью. Зачастую изменению подвергаются только две переменные ядра: vm.dirty_background_ratio и vm.dirty_ratio, которые позволяют регулировать размер буферов для хранения так называемых грязных данных, то есть тех данных, которые были записаны на диск приложением, но еще до сих пор находятся в оперативной памяти и ждут, пока они будут записаны на диск.

Стандартные значения этих переменных в десктопных Linux-дистрибутивах и Android примерно следующие:

* vm.dirty_background_ratio = 10 * vm.dirty_ratio = 20

Это значит, что при достижении размера буфера «грязных» данных в 10% от всего объема оперативки проснется ядерный поток pdflush и начнет записывать данные на диск. Если же операции записи данных на диск будут слишком интенсивными и, даже несмотря на работу pdflush, буфер будет продолжать расти, то при достижении 20% от объема оперативки система переключит все последующие операции записи в синхронный режим (без предварительной буферизации) и работа пишущих на диск приложений будет заблокирована до того момента, пока данные не будут записаны на диск (в терминологии Android это принято называть лагом).

При этом важно понимать, что, даже если размер буфера не достиг 10%, система так или иначе запустит поток pdflush через 30 с. Что нам дают эти знания? Фактически ничего, что мы могли бы использовать в своих целях. Комбинация 10/20% вполне разумна и, например, на смартфоне с 1 Гб памяти составляет примерно 100/200 Мб памяти, чего более чем достаточно в условиях редких всплесков записи, скорость которых зачастую ниже скорости записи в системную NAND-память или SD-карту (при установке софта или копировании файлов с компа). Но создатели скриптов оптимизации с этим, конечно же, не согласны.

Например, в скрипте Xplix можно найти примерно такие строки (в оригинале они намного длиннее из-за проверок на количество оперативной памяти и использования BusyBox):

Sysctl -w vm.dirty_background_ratio=50 sysctl -w vm.dirty_ratio=90

Данные команды применяются к устройствам с 1 Гб памяти, то есть устанавливают лимиты «грязного» буфера, равные (примерно) 500/900 Мб. Такие высокие значения абсолютно бессмысленны для смартфона, так как работают только в условиях постоянной интенсивной записи на диск, то есть опять же для высоконагруженного сервера. В ситуации со смартфоном они будут ничем не лучше стандартных. Кстати, в скрипте ThunderBolt! применяются гораздо более разумные (и близкие к стандартным) значения, но я сомневаюсь, что от их применения пользователь заметит хоть какую-то разницу:

If [ "$mem" -lt 524288 ];then sysctl -w vm.dirty_background_ratio=15; sysctl -w vm.dirty_ratio=30; elif [ "$mem" -lt 1049776 ];then sysctl -w vm.dirty_background_ratio=10; sysctl -w vm.dirty_ratio=20; else sysctl -w vm.dirty_background_ratio=5; sysctl -w vm.dirty_ratio=10; fi;

Первые две команды выполняются на смартфонах с 512 Мб оперативки, вторые - с 1 Гб, третьи - с более чем 1 Гб. Но на самом деле есть только одна причина изменять стандартные значения - девайс с очень медленной внутренней памятью и/или картой памяти (привет китайцам). В этом случае разумно разнести значения переменных, то есть сделать примерно так:

Sysctl -w vm.dirty_background_ratio=10 sysctl -w vm.dirty_ratio=60

Тогда при резких всплесках операций записи система, не успевая записывать данные на диск, до последнего не будет переключаться на синхронный режим, что позволит уменьшить лаги приложений при выполнении записи.

Вердикт: лучше не трогать.

Выводы

Существует огромное количество и более мелких оптимизаций, включая «тюнинг» сетевого стека, изменение переменных ядра Linux и Android (build.prop), но 90% из них не оказывают никакого влияния на реальную производительность устройства, а остальные 10% либо улучшают одни аспекты поведения устройства в ущерб других, либо настолько незначительно повышают производительность, что ты этого даже не заметишь. Из того, что реально действует, можно отметить следующее:

  • Разгон. Небольшой разгон позволяет повысить производительность, а андервольтинг - сохранить немного батарейки.
  • Оптимизация баз данных. Сильно сомневаюсь, что это даст заметный прирост скорости работы, но теория говорит нам, что работать должно.
  • Zipalign. Забавно, но, несмотря на встроенную в Android SDK функцию выравнивания контента внутри APK-файлов, в маркете можно найти большое количество софта, не прошедшего через zipalign.
  • Отключение ненужных системных сервисов, удаление неиспользуемых системных и редко используемых сторонних приложений (об этом я уже писал в одной из прошлых статей).
  • Кастомное ядро с оптимизациями под конкретный девайс (опять же не все ядра одинаково хороши).
  • Уже описанный планировщик ввода-вывода noop.
  • Алгоритм насыщения TCP westwood+. Есть доказательства, что в беспроводных сетях он намного эффективнее применяемого в Android по умолчанию Cubic. Доступен в кастомных ядрах.

Бесполезные настройки build.prop

LaraCraft304 с форумов XDA Developers провела исследование и выяснила, что внушительное количество настроек /system/build.prop, которые рекомендуют к применению «эксперты», вообще не существуют в исходном тексте AOSP и CyanogenMod. Вот их список:

  • ro.ril.disable.power.collapse
  • ro.mot.eri.losalert.delay
  • ro.config.hw_fast_dormancy
  • ro.config.hw_power_saving
  • windowsmgr.max_events_per_sec
  • persist.cust.tel.eons
  • ro.max.fling_velocity
  • ro.min.fling_velocity
  • ro.kernel.checkjni
  • dalvik.vm.verify-bytecode
  • debug.performance.tuning
  • video.accelerate.hw
  • ro.media.dec.jpeg.memcap
  • ro.config.nocheckin
  • profiler.force_disable_ulog
  • profiler.force_disable_err_rpt
  • ersist.sys.shutdown.mode
  • ro.HOME_APP_ADJ

Оптимизация баз данных

Скрипт для оптимизации баз данных настроек системы и приложений. Для работы, естественно, требуется root и BusyBox.

#!/system/bin/sh
for i in \
`busybox find /data -iname «*.db»`;
do \
/system/xbin/sqlite3 $i ‘VACUUM;’;
/system/xbin/sqlite3 $i ‘REINDEX;’;
done;

В процессе использования устройств на базе Android часто сталкиваешься с замедлением работы после определенного периода использования. Ранее для устранения этой проблемы я даже прибегал к полному сбросу телефона на заводские настройки, что в значительной степени «оживляло» его и он какое-то время продолжал «летать», пока постепенно снова не обрастал тормозами. Причем проблему не могли решить и очень популярные программы для оптимизации Android вроде , которые больше вредили, чем приносили пользу. Как же эффективно бороться с этой проблемой и как предотвратить ее появление?

Основная причина замедления работы Android-устройства – нехватка системных ресурсов для обеспечения нормальной работы самой операционной системы и всех программ. Как и в случае с , для кардинального решения проблемы надо лишь освободить достаточно ресурсов, чтобы система снова «вздохнула свободно». Но это решит вопрос лишь на какое-то время, как при использовании программ для оптимизации Android. Через какое-то время ресурсы снова будут «забиты», вызвав торможение. Нужен более долгосрочный эффект. Для него надо просто придерживаться нескольких простых, но очень действенных правил.

Удаляйте без сожаления все, чем не пользуетесь

Простое и понятное правило. Требует периодически просматривать список установленных программ и удалять те, которыми вы перестали пользоваться.

Связано это с тем, что многие программы в фоновом режиме работают в системе Android и синхронизируются с удаленным сервером. Если вы не пользуетесь такой программой, то она попросту впустую тратит ресурсы вашего устройства, которые можно было бы потратить на что-то более полезное. Не задумываясь удаляйте такие программы. В случае необходимости всегда можно поставить их снова.

Для этого в списке установленных программ найдите ненужные и удалите их. Освободите при этом не только оперативную память (что очень важно), но и место в памяти устройства.

То же касается фотографий и видео. Подключайте устройство время от времени к компьютеру (либо используйте ) для переноса фото и видео в резерв, удаляя после этого их из устройства. Так вы оставите больше памяти для кэширования данных приложений, так что операционной системе не придется придумывать, откуда ей брать место для работы системы или других программ.

Отключите фоновую синхронизацию

Не все программы можно удалить, так как некоторыми все равно время от времени нужно пользоваться. Но и в этом случае можно сэкономить, сохранив не только системные ресурсы, но и заряд аккумулятора. Можно запретить некоторым программам фоновую синхронизацию через мобильный интернет.

Чтобы отключить фоновую оптимизацию, надо зайти в «Настройки » — «Передача данных ». В нижней части будет список программ, которые используют сеть. Вверху списка – самые активные. Именно их и надо смотреть.

Если какое-то приложение не нужно вам в пути, то его фоновую синхронизацию можно отключить. Нажимаем на такое приложение и активируем пункт «Ограничить фоновый режим ».

Замените программы на браузер

К сожалению, многие пользователи Android забывают (а кто-то даже и не подозревает), что в их телефоне есть браузер. Многие программы для Android дублируют содержимое сайтов. Например, новостные приложения или клиенты социальных сетей. Вместо того, чтобы держать десятки программ, которые постоянно работают в фоне и синхронизируются с сервером, можно просто держать такое же количество закладок в браузере и открывать их при необходимости. При этом единственная программа, которая будет задействована в этом деле – браузер.

Конечно стоит понимать, что отказ от программ не должен негативно сказаться на удобстве использования. Например, если сайт не адаптирован для просмотра с мобильных устройств, то заменять приложение сайтов не стоит.

И наоборот, если приложение и сайт удобны для чтения с телефона или планшета, то лучше использовать сайт, так как один браузер потребляет явно меньше ресурсов, чем десятки программ, которые постоянно в сети и постоянно обновляют данные.

Лично у меня в браузере Google Chrome постоянно открыто несколько вкладок сайтов, которые я читаю. Я принципиально не закрываю их, чтобы не искать в списке закладок нужный сайт каждый раз. Просто при открытии браузера выбираю нужную вкладку и обновляю страницу, чтобы получить свежие данные.

Технологии

Так же, как и компьютеры, смартфоны со временем начинают тормозить.

Но есть несколько нехитрых способов, как можно увеличить скорость работы вашего iOS или Android устройства.

Вот эти простые советы:


Как ускорить смартфон

1. Обновляйте вашу операционную систему.


Если ваш смартфон работает медленнее, чем раньше, то, возможно, операционная система, которая на нем стоит, не последней версии. Более новые версии iOS или Android позволят вашему смартфоны улучшить свои показатели в плане быстрой работы.

Но перед обновлением стоит подключить телефон к WiFi и сохранить все данные. Кроме этого, убедитесь, что ваш смартфон поддерживает новую версию операционной системы, так как слишком старые аппараты, а также ультрабюджетные смартфоны, не могут быть оптимизированы.

Для iPhone

"Настройки" (Settings) – "Общие" (General) – "Обновление системы" (Software Update).


Для устройств на Android

"Настройки" (Settings) – "О телефоне" (About Phone) – "Обновление системы" (System Updates) или "Software Updates", чтобы проверить наличие обновлений.

2. Отключите или ограничьте анимацию в телефоне.

Анимация окон на телефоне (когда переходишь с одного экрана на другой или с одного приложения на другое), конечно, выглядит красиво и эффектно, но эти детали могут замедлить работу смартфона, так как нуждаются в дополнительных системных ресурсах.

Для устройств на Android:



Вариант 1: "Настройки" – "Экран" – "Анимация", после чего выбираем "Без анимации".

Вариант 2: "Настройки" – "Для разработчиков", найдите пункты, которые отвечают за анимацию и выберите "Отключение анимации" или "Без анимации".

Для устройств на iOS:


"Настройки" - "Основные" – "Универсальный доступ" – "Уменьшение движения". После этого попробуйте включить или закрыть любое приложение и далее перейти в панель многозадачности. Анимация не отключилась, но стала другой.

3. Старайтесь устанавливать только самые необходимые приложения.


В магазинах приложений можно найти огромное количество всяких программ и инструментов, и кажется, что многие из них вам нужны. Но стоит подумать, стоит ли вам устанавливать то или иное приложение, и будете ли вы им действительно часто пользоваться.

Любое приложение использует ресурсы вашего смартфона, и чем их меньше, тем быстрее работает ваше устройство.

Как ускорить телефон

4. Избавьтесь от неиспользуемых приложений.



Удалите приложения, которые вам не нужны, или которыми вы редко пользуетесь. Это можно сделать, открыв список приложений. Любое приложение можно восстановить, если вы все-таки решили его вернуть. Программы и игры занимают память устройства, поэтому, чем их меньше, тем устройство работает быстрее.

5. Избавьтесь от виджетов на экране вашего смартфона.


Программы, которые вы устанавливаете на домашний экран, может и полезны, но они могут серьезно тормозить ваш телефон. Многие виджеты регулярно включаются в фоновом режиме в поисках новой информации или обновлений. Если вам не сильно важен тот или иной виджет на домашнем экране телефона – просто удалите его.

6. Не используйте "Живые обои".


Это красивая функция, но, так же как и виджеты на экране смартфона, она поглощает не только оперативную память устройства, но и его батарею. Со временем "живые обои" начнут серьезно тормозить ваш смартфон. Также стоит воздержаться от использования ярких, разноцветных картинок на экране – в идеале экран должен быть черным.

Как ускорить смартфон на Андроиде

7. Отключите автозапуск ненужных программ.


Для Android: "Настройки" – "Приложения" – "Работающие службы" или "Настройки" – "Управление приложениями" – "Работающие". Посмотрите, какие программы вы бы не хотели, чтобы автоматически запускались – остановите их и перезагрузите телефон. Для остановки разных служб на телефоне можете использовать один из менеджеров процессов в магазине приложений.

После отключения автозапуска ненужных программ общая производительность вашего смартфона увеличится.

8. Автоматически очищайте ваши мессенджеры спустя 30 дней.


Большинство пользователей смартфонов даже не задумываются об очистке мусора в различных приложениях для обмена сообщениями. Если у вас скапливается более 1 гигабайта текстовых сообщений, которые замедляют работу телефона, то стоит задуматься об очистке мессенджера.


К счастью для владельцев iPhone в приложении iMessage можно включить функцию очистки сообщений каждые 30 дней ("Настройки" (Settings) – "Сообщения" (Messages) – "Сохранять сообщения" (Keep Messages)). Но если вы хотите сохранить все сообщения, то их лучше хранить в архивированном виде в облаке (iCloud).

В устройствах на базе Android придется удалять сообщения вручную. Однако есть функция в настройках телефона, которая позволяет избавляться от старых сообщений, когда в телефоне остается мало места.

9. Отключите автоматическое обновление приложений.


Для устройств на Android

В Google Play есть механизм, который автоматически проверяет версии установленных приложений. Если он находит более новую версию, то автоматически (в фоновом режиме) обновляет то или иное приложение до новой версии. Такая служба обновления нуждается в части ресурсов оперативной памяти.

Автообновление можно отключить и обновлять все или определенные приложение вручную. Чтобы это сделать нужно: зайти в Google Play – "Настройки" и убрать галочку с "Уведомления" и "Обновлять автоматически".


Для устройств на iOS

"Настройки" - "Основные" – "Обновление контента".


После этого вы увидите все приложения, которые обновляются в фоновом режиме. Просмотрите список приложений и отключите те программы, которые вам не нужны. Такой шаг не только ускорит работу телефона, но сэкономит немного заряда батареи.

Как ускорить работу смартфона

10. Отключение GPS и геолокации.

Для устройств на iOS


Есть приложения, которые могут работать, только если непрерывно отслеживают местоположение владельца телефона, даже когда тот их не использует. Они могут сильно тормозить смартфон, и чтобы их отключить, зайдите в "Настройки" – "Конфиденциальность" – "Службы геолокации". Так вы откроете список всех приложений, которые связанны с датчиками определения местоположения. В нужных приложениях активируйте опцию "При использовании" или "Никогда".

Для устройств наAndroid


Если вы не хотите использовать телефон как навигатор, то лучше отключить GPS. Для этого нужно зайти в "Настройки" – "Координаты" (или "Местоположение") и снять галочки со всех пунктов.


Чтобы увеличить скорость работы iPhone, можно также сделать жесткую перезагрузку (hard reset) аппарата. Такая перезагрузка избавляет телефон от временных и кэшированных файлов. Чтобы запустить такую перезагрузку следует нажать и удерживать некоторое время кнопку Home (пока не появиться логотип Apple). На моделях iPhone 7 и iPhone 7 Plus для этого используется кнопка громкости.

Как ускорить телефон на Андроиде и iOS

12. Менеджер задач.

В каждом смартфоне можно найти встроенный Менеджер задач, который позволяет закрыть любые работающие приложения, ненужные вам в тот момент. Закрытие приложения означает, что его выгружают из оперативной памяти, а значит, смартфон будет работать быстрее. Но вы можете скачать отдельный Менеджер задач, созданный сторонним разработчиком.

13. Очищение кэша приложений и браузера.

Для устройств на Android


Чтобы очистить кэш зайдите в "Настройки" – "Приложения" – "Управление приложениями". После того, как вы нажали на приложение, зайдите в его свойства и найдите "Очистить кэш". Таким образов вы избавляетесь от устаревших данных, что в свою очередь ускоряет работу приложений.


В Google Play есть большое количество менеджеров задач, с помощью которых вы сможете управлять своими приложениями, отключать неиспользуемые программы и очищать кэш. Можете скачать приложение Clean Master – оно удобно, так как в нем есть русский язык, оно понятно и оно может выполнять множество разных функций, прямо как швейцарский нож.

Для устройств на iOS

В iPhone нет функции очистки кеша в определенных программах, а значит, лучше будет скачать и установить стороннее приложение. Отличным вариантом является приложение Battery Doctor (доступное также и в Google Play), которое, кстати, бесплатное. Загрузив и установив данное приложение, откройте на экране смартфона пиктограмму и можете заняться уборкой.


Зайдите во вкладку, в которой содержится кеш, и подтвердите удаление. Стоит также отметить, что Battery Doctor позволяет вам войти в память смартфона, и вы можете следить за тем, как заполняется свободное пространство. Кроме этого, вы можете удалять приложения, которые давно не использовали.

Не стоит слишком часто запускать данное приложение, так как iOS само способно справляться с большинством активных процессов.

Как ускорить работу телефона

14. Сделайте полную перезагрузку до заводских настроек.

Если вы перепробовали все методы, и ничего не дало существенных результатов, придется вернуть аппарат к заводским настройкам. Это позволит телефону вернуться в первоначальное состояние (когда его выпустили с завода). Но знайте, что такая перезагрузка сотрет все данные с телефона, поэтому заранее сохраните все фотографии, музыку, контакты, приложения и важные файлы. Но такой способ также избавит телефон от лишнего мусора.

Для устройств наiOS


"Настройки" (Settings) – "Общие" (General) – "Сброс настроек" (Reset). Нажмите "Стереть все содержание и настройки" (Erase All Content and Settings) и подтвердите свой пароль. Также можно сбросить настройки до заводских через iTunes: "Настройки" – "Основные" – пролистайте до вкладки "Сброс". Далее либо "Сбросить настройки" (удаление всех данных, кроме файлов), либо "Сбросить контент и настройки" (удаление всей информации).

Для устройств наAndoid


"Меню" – "Настройки" - "Восстановление и сброс" - прокрутите в самый низ до пункта "Сброс настроек" (в некоторых смартфонах он называется "Сбросить настройки телефона" или "Общий сброс" или "Стереть все данные").

Если вы заметили, что ваш смартфон после каждой перезагрузки телефона показывает сообщение про оптимизацию приложений Android, стоит задуматься о том, чтобы исправить эту проблему. Как правило, первичная оптимизация происходит только при первом включении смартфона, а также после сбора настроек до заводских. При этом часто процесс запускается после перепрошивки. В остальных случаях оптимизация для приложений не совсем обязательна, поэтому стоит ее отключить.

Решаем проблему, почистив кеш

Иногда после перезагрузки телефон попросту виснет или же при каждом включении выполняет запуск оптимизации. Весь процесс может занять до 30 минут, поэтому не очень удобно ждать окончания этого процесса при каждом включении смартфона. Пока приложения не оптимизированы, телефон зависает и работает медленнее. Самое простое решение, если вы хотите отключить оптимизацию при каждом включении, — это чистка кеша.

Произвести ее можно вручную в подразделе «Приложения» в настройках телефона. Также можно скачать специальные программы на Android. Оптимизация приложений может прекратиться после установки и грамотного использования, например, Clean Master.

Если это не помогло, можно почистить cash более радикальным способом через режим восстановления.

Рассмотрим один из вариантов чистки кеша:

  1. Необходимо выключить телефон.
  2. Удерживайте кнопку «Уменьшение звука» и кнопку включения одновременно.
  3. В появившемся окошке выберите подпункт Recovery.
  4. В том меню, которое появится на этот раз, выберите подпункт «Wipe cache partition».
  5. Далее произойдет очистка кеш-памяти. Это займет некоторое время. Никакие важные данные и файлы, которые вы храните на телефоне, не будут удалены.
  6. Телефон нужно будет перезагрузить после завершения процесса. Для этого в меню выберите подпункт «Reboot system now».

После всех манипуляций гаджет перезагрузится. Вы сразу сможете проверить, появилось ли сообщение про оптимизацию приложений или ее удалось отключить. Если оптимизация включается опять, стоит рассмотреть другие решения проблемы.

В зависимости от модели телефона, вход в режим восстановления может различаться. Если комбинация «Кнопка включения + клавиша увеличения громкости» не сработали, значит вам может помочь один из следующих вариантов:

  • Кнопка уменьшения громкости и клавиша для включения устройства.
  • Центральная кнопка и клавиша включения-выключений.
  • Центральная кнопка, кнопка включения и клавиша увеличения громкости.

Если и вышеперечисленные комбинации не подошли, то поищите нужное сочетание клавиш в инструкции или на официальном сайте производителя смартфона.

Чтобы не искать подходящие комбинации клавиш, можно скачать специальные программы на Андроид, автоматически включающие режим «Рекавери». Одна из самых известных программ – Quick Boot. Установите ее на смартфон, а после запуска она автоматически сможет перенести вас в режиме Recovery. Уже в меню приложения можно выбрать нужный раздел. Очистить кеш позволит графа Wipe cache partition. Все остальные подпункты меню тоже называются так же, как и в стандартном Recovery-режиме.

Как отключить оптимизацию: сбрасываем настройки до заводских

Если висящее сообщение снова появляется после каждого перезапуска, при этом чистка кеша не помогла, тогда стоит попробовать возврат устройства к заводским настройкам. Это решение позволит оптимизировать работу телефона.

Помните, что при hard reset гаджету придется удалить все настройки и приложения с телефона, а во все учетные записи придется заходить заново. Сделайте резервную копию всех данных, после чего воспользуйтесь следующей инструкцией:

  1. Выключите устройство, а затем перейдите в режим восстановления. Для этого нужно использовать один из способов, перечисленных выше. Для большинства устройств подойдет метод «Кнопка уменьшения звука + кнопка выключения». Передвигаться между подпунктами меню можно с помощью клавиш, которые регулируют звук.
  2. Далее перейдите к пункту Recovery. Чтобы сделать выбор, нажмите кнопку вкл.
  3. В новом подменю найдите и нажмите «Wipe data/factory reset».
  4. Процесс обнуления настроек займет какое-то время, обычно это затягивается не менее чем на 10 минут, поэтому наберитесь терпения.
  5. Смартфон нужно перезагрузить после завершения процесса. Для этого выберите подпункт Reboot system now.

Сброс настроек должен не только помочь избавиться от постоянной оптимизации приложений после включения, но и сможет дополнительно увеличить скорость работы. Такое решение имеет единственный минус – удаление всех пользовательских файлов и настроек.

Решить этот вопрос можно при помощи Android Backup Service. Создать резервную копию всех своих данных можно при помощи следующих шагов:

  1. Зайдите в раздел «Настройки».
  2. Выберите подменю «Личные данные», а затем нажмите на подраздел «Восстановление и сброс».
  3. Включите «Резервирование данных».

Также вам поможет скопировать все свои данные программа Titanium Backup. Для ее использования нужно получить Root-права. После установки и запуска ПО, найдите среди подменю графу «Резервные копии». В открывшемся интерфейсе выберите графу «Сделать р.к. всего пользовательского ПО и системных данных», а затем нажмите напротив него кнопку «Пуск». Для подтверждения своего решения нажмите на зеленую галочку в верхнем правом углу.







2024 © gtavrl.ru.