3D ускорители на Android виды и установка

Введение

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

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

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

Pimp My Rom — один из самых известных инструментов тюнинга Android
Другие статьи в выпуске:

Хакер #191. Анализ безопасности паркоматов

  • Содержание выпуска
  • Подписка на «Хакер»

 

Как узнать информацию о своём процессоре Android Видео

к содержанию

Chainfire 3D

Chainfire – это именно то, что вы искали. Программа может всё, а вот конкурировать с ней получится не у всех. Программа подменяет способы декодирования текстур, которые априори должны поддерживаться лишь «избранными» устройствами. Есть возможность выставлять своё разрешение. Это позволит запускать мощные продукты на слабеньких девайсах. Любители красивой картинки найдут полезной опцию принудительного сглаживания.

Разберём меню:

  • Default OpenGl settings – общие настройки, касающиеся всех приложений.
  • Per-app – индивидуальные, особые параметры для одного продукта.
  • NightMode – режим, позволяющий экономить заряд АКБ путём сокращения количества цветов (даже в Amoled матрицах). Используется в ночное время.
  • Reduce texture size – уменьшает качество и размеры текстур, что позволяет экономить ОЗУ почти в четыре раза. Правда, опция не всегда может пригодиться. К примеру, она почти бесполезна в 2D.
  • Reduce texture quality – поможет уменьшить использование RAM памяти в два раза путём преобразования текстур из 32-х бит в 16.
  • Unroll textures – производит обратное действие от предыдущего, увеличивая потребление памяти, часто приводя к повышению быстродействия.
  • Disable BGRA emulation – эмуляция поддержки BGRA, так как не все видеочипы умеют работать с данной технологией. Используется, если в изображении путаются цвета.
  • Disable Chainfire3D detection – функция оповещения другого ПО о том, что используется Chainfire 3D (из соображений совместимости).
  • Depth buffer – используется в конкретных случаях. Некоторые игры не запустятся, если им не предоставлен некий объём памяти для буфера. Включайте опцию, только если все другие варианты исчерпаны и только персонально для одной программы.
  • MSAA – функция предназначена для флагманских решений. Естественно, также включается индивидуально. Позволяет принудительно сглаживать изображение в 16х и 4х (автоматический выбор). Картинка стаёт плавной, линии равны, переходы мягкие. Но взамен опция буквально рушит производительность планшета и высасывает весь заряд АКБ. Если ваш гаджет укомплектован слабо, то после включения MSAA игра просто не запустится.
  • Backup and restore settings – создание резервных копий настроек Chainfire 3D, шейдеров, плагинов на SD и их обратное восстановление.

к содержанию

Установка Chainfire 3D

Для установки необходимы ROOT права и инсталлированый .

  • Загружаем Chainfire 3D  и . Нужно качать обе, ибо без первой нельзя осуществлять персональные настройки каждого приложения отдельно. Если версия 3.3 не установится, идите на , регистрируйтесь и качайте там.
  • Загрузите плагины:
  1. ;
  • Положите всё добро в корень SD Card, не распаковывая архивы.
  • Установите версию 3.0, потом 3.3.
  • Запустите 3D ускоритель, разрешив ROOT (если спросит).
  • Инсталлируйте драйвера – «Install driver».

к содержанию

Установка плагинов

В меню ускорителя нажмите «Install plugins/shaders». Начнётся поиск, после которого просто выберите нужный плагин. Пойдёт установка. По её завершении тапните в меню по«Fix Market settings». Вот теперь можно заходить в магазин приложений, где появляются игры, поддерживаемые установленным плагином.

к содержанию

Удаление

В меню ускорителя нажмите на CF3D driver и выберите «Unistall». Планшет сам перезагрузится, теперь можно деинсталлировать Chainfire из «Диспетчера приложений».

Swap

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

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

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

 

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.

sEFix — один из наследников Seeder

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

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

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

 

Твики lowmemorykiller

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

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

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

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

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

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

MinFreeManager — приложения для тюнинга механизма lowmemorykiller

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

 

Самый действенный способ оптимизации Android устройства

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

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

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

Каждое установленное приложение не просто лежит мертвым грузом на флешке телефона, если вы им не пользуетесь, приложение ЖИВЕТ своей жизнью в операционной системе android  потребляя ресурсы – проверяет обновления или ожидает событий при которых необходимо активироваться.

Несколько таких приложений не должны повлиять на работу устройства (если у вас минимум 1gb оперативки и 2 ядра), но десяток неиспользуемых приложений (в том числе игры) уже дадут о себе знать затормаживая ваше устройства в моменты пиковых нагрузок (вызов, разговор по скайпу, съемка видео – если есть “глюки” или “тормоза”, это первый звоночек перебора с приложениями).

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

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

Этапы оптимизации Андроид устройства

  • Зайдите в настройки телефона – (Settings)
  • Выберите пункт меню – Приложения (Apps)
  • Вы попали в список загруженных приложений, проведите пальцем по экрану справа налево
  • Вы попали в список запущенных приложений (RUNNING или ТОЛЬКО ЗАПУЩЕННЫЕ), слева иконка приложения, его название, количество процессов работающих прямо сейчас, справа цифры потребления оперативной памяти (пример: 12MB)
  • Просмотрите список, вы обнаружите множесто запущенных процессов, в том числе технических, которые обеспечивают работу самой операционной системы, с ними нет смысла бороться, если у вас nexsus и нужно бороться если у вас samsung (во втором случае, производитель ставит на телефон кучу своих собственных программ, через которые он продает пользователям свои приложения, сервисы, услуги – способ дополнительной монетизации).
  • Запишите в текстовый файл на компьютере или в блокнот телефона друга, названия всех приложений, которые потребляют более 10MB оперативной памяти, кроме тех, которые в своем названии содержат слова – “com.”, “Google”, “Settings” “Service” (это служебные процессы, которые в 90% случаев необходимы для стабильной работы аппарата)
  • Теперь выходите из списка работающих приложений и идите в список приложений, откуда вы обычно их удаляете (не путать с рабочим столом, который появляется при тапе на иконку домика – средняя клавиша телефона, если это не samsung)
  • Читайте список, глядя на приложения и думайте, зачем вам это приложение, которое жрет столько метров памяти вашего телефона, может быть вы сможете прожить без него?
  • Если решились – удаляйте.
  • После того как, удалите несколько приложений, попробуйте перезагрузить телефон (это не обязательно, можно зайти в список приложений и снять все запущенные на фоне)
  • Проверяйте вызов, серфинг по интернету, камеру, карты – все еще тормозит?

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

zRAM

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

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

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

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

 

Как узнать производителя и модель своего графического процессора

На рынке присутствуют три основных конкурирующих типа GPU:

  • nVidia TEGRA;
  • Snapdragon (Adreno);
  • PowerVR.

Кстати, cache для игр также создаётся в основном для каждой платформы отдельно. Именно поэтому некоторые пользователи просто не видят желаемого в магазине приложений. Перейдём к делу. Как посмотреть 3D ускоритель на Андроиде? Всё просто. Установите себе бенчмарк или приложение для анализа системы. Например, CPU-Z. Последнее покажет всю информацию на первой вкладке. Бенчмарки же (AnTuTu, к примеру) ярче. Они дотошно тестируют устройство, в т. ч. GPU, и выдают множество информации, сравнительных графиков и прочего.

к содержанию

Как очистить и ускорить Андроид

Не стоит расстраиваться тому, что ваш гаджет начал зависать – в большинстве случаев эта проблема легко решается. Что делать? Чаще всего достаточно просто установить и запустить специальное приложение для очистки и ускорения Андроид. Также рекомендуем следовать этим советам, которые помогут сделать ваш телефон быстрее:

  1. Удалите или остановите в настройках все ненужные вам приложения. Если у вас не получается удалить системные программы, то инструкцию по удалению встроенных приложений можно прочитать здесь.
  2. Регулярно очищайте кэш.
  3. Периодически делайте полный сброс на заводские настройки.
  4. Обновляйте прошивку (ПО).
  5. Переносите данные на SD Карту.
  6. Останавливайте или удаляйте ненужные приложения.
  7. Отключайте GPS.
  8. Отключите синхронизацию и ненужные сервисы в настройках.

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

Твики IO

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

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

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

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

Часть скрипта ThunderBolt!

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

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

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

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

Изменить планировщик ввода-вывода можно с помощью Trickster Mod

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

 

Odex

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

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

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

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

 

Выводы

Существует огромное количество и более мелких оптимизаций, включая «тюнинг» сетевого стека, изменение переменных ядра 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;

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии