Меняем номер версии библиотек в одном месте
Очень часто в проекте используются взаимосвязанные библиотеки с одинаковыми номерами.
Можно быстро поменять у всех номера через переменную. Для этого используется секция ext, в которой указывается переменная и номер версии. Затем в секции dependencies номер версии заменяется на имя переменной
Обратите внимание, что одинарные кавычки заменяются на двойные, а символ $ указывает на строковый тип. Расширенная версия с разными переменными в другом виде
Расширенная версия с разными переменными в другом виде.
Если в проекте используются несколько модулей с одинаковыми зависимостями, то эти записи можно перенести в корневой build.gradle, чтобы не менять номера версий в каждом модуле.
Твики build.prop
Отображаемый язык при первом запуске Android (или полного сброса)
Изменить строки:
на
Если же данных строк нет, но есть:
изменить на
Включение Отладки по USB при первом запуске Android (или полного сброса)
Добавить или изменить:
Улучшить качество фотографий
Добавить или изменить:
Улучшить качество снимков (за счет уменьшения скорости работы)
Улучшить качество снимков и видеозаписи
Добавить или изменить:
Улучшить качество мобильной сети
Добавить или изменить:
Улучшить качество передаваемой речи в мобильной сети
Добавить или изменить:
Акселерация интерфейса за счет GPU устройства
Добавить или изменить:
Отключить анимацию при включение устройства
Добавить или изменить:
Установить скорость анимации включения
Ускорить загрузку устройства
Добавить или изменить:
Отключить логирование ошибок ядра
Ускорить работу потокового видео
Добавить или изменить:
Внесение лаунчера в память
Добавить или изменить:
Увеличение автономности работы Android при использование Wi-FI
Добавить или изменить:
Улучшить реакцию сенсора дисплея
Добавить или изменить:
Увеличение скорости скрола (но ухудшается плавность)
Улучшить качество приема 2G и 3G сетей
Добавить или изменить:
Google DNS
Изменение плотности экрана DPI
читайте подробней в статье про DPI
Уменьшите анимацию на Андроид
Это маленький трюк достаточно хорошо известен. Он фактически не ускоряет работу телефона, но сокращает время перехода между экранами и приложениями, делая это быстрей.
Чтобы убрать анимацию на Андроид, вам нужно включить режим разработчика в настройках устройства. Активировать режим разработчика нужно зайдя в «Настройки» -> «О телефоне» и нажать 7 раз на надпись «Номер сборки» на телефонах Xiaomi нужно нажимать на «Версия MIUI».
Теперь зайдите в раздел «Для разработчиков» и найдите там пункты «Анимация окон», «Анимация переходов», «Длительность анимации» и так далее. Выберете в перечисленных пунктах «без анимации» или «выключено», после этого окна и приложения будут просто открываться без всяких скольжений, затуханий и т.д.
MacroDroid
MacroDroid применяет макросы для автоматизации широкого спектра повседневных задач. С более ста готовых команд MacroDroid максимально раскрывает потенциал смартфона и сводит к минимуму усилия с вашей стороны. Снижение потребления энергии, отключение WiFi при выходе из дома, создание кастомных звуковых тем — это лишь немногие задачи, которые способен решить MacroDroid. Недавно были добавлены блоки действий, позволяющие группировать часто используемые действия. Есть поддержка обмена макросами с соседними устройствами. В бета-версии находится возможность отправлять заранее подготовленные сообщения определенным контактам.
Чтобы создать макрос нажмите кнопку «Новый запрос», выберите триггер (условие при котором будет запускаться макрос), например, подключение наушников и выберите нужное действие — например, запуск Spotify. Готово! Для продвинутых пользователей для редактирования доступны дополнительные скрипты, плагины и пользовательские переменные. Приложение доступно как в бесплатной (лимит до 5 макросов), так и в платной версии с неограниченным функционалом.
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 постоянно пробуждает устройство и заставляет его повышать частоту процессора, что позитивно сказывается на производительности и негативно на батарее.
Вердикт: плацебо.
Приветственное оповещение дома и в офисе
- Триггеры: Wi-Fi
- Действия: «Произнести»
В конце концов, вы можете настроить приветственное сообщение, которое будет произносится после подключения к конкретному Wi-Fi. К примеру, когда iPhone коннектится к домашнему, он может говорить «Добро пожаловать домой!».
Таким же образом можно контролировать, к какой именно сети Wi-Fi решил подключиться iPhone. К примеру, в моем офисе три разных сети, которые отличаются по скорости и безопасности. Хорошо бы знать, какая используется в данный момент.
? Прокачивай айфон не только командами, но и красивыми чехлами:
️ Слева пластиковый Guess — 2 990 руб.
️ В центре кевларовый Pitaka — 5 990 руб.
️ Справа силиконовый Apple — 4 990 руб.
iPhones.ru
Они помогут добавить на iPhone и iPad новые возможности, о которых нельзя было говорить ранее.
Рассказать
Николай Грицаенко
Кандидат наук в рваных джинсах. Пишу докторскую на Mac, не выпускаю из рук iPhone, рассказываю про технологии и жизнь.
Видео: Как изменить название телефона и версию андроида,редактируя build.prop на Samsung Galaxy GT-S7562
9) debug.sf.nobootanimation=1 – отключаем анимацию при включении. Немного ускоряет включение аппарата.
10) ro.lge.proximity.delay=25 mot.proximity.delay=25 – отключает появляющееся черное окошко после окончания звонка. Меня реально раздражало и это лично мне помогло)))
11) net.tcp.buffersize.default=4096, 87380, 256960, 4096, 16384, 256960 net.tcp.buffersize.wifi=4096, 87380, 256960, 4096, 16384, 256960 net.tcp.buffersize.umts=4096, 87380, 256960, 4096, 16384, 256960 net.tcp.buffersize.gprs=4096, 87380, 256960, 4096, 16384, 256960 net.tcp.buffersize.edge=4096, 87380, 256960, 4096, 16384, 256960 – меняем размер буфера TCP-говоря проще, немного улучшаем интернет-соединение. Будет полезным для тех, у кого медленный инет.
12) ro.ril.hsxpa=2 ro.ril.gprs class=10 ro.ril.hep=1 ro.ril.enable.dtm=1 ro.ril.hsdpa.category=10 ro.ril.enable.a53=1 ro.ril.enable.3g.prefix=1 ro.ril.htcmaskw1.bitmask=4294967295 ro.ril.htcmaskw1=14449 ro.ril.hsupa.category=5 – твики для улучшения приема 3G-сигнала. Сам не проверял-оставляю на вас.
13) ro.HOME_APP_ADJ=1 — запрет на выгрузку лаунчера из памяти.
14) ro.kernel.android.checkjni=0 — исправляет некоторые ошибки приложений.
Бесполезные твики, которые ничего не улучшают
Помимо действительно работающих твиков, приведённых в этой статье и в теме на форуме, существует немало таких, которые широко разошлись по Сети, но на самом деле не оказывают никакого влияния на работу системы. Соответствующее исследование провёл один из пользователей ресурса xda. Онпроанализировал исходный код AOSP и CyanogenMod и выяснил, что множество популярных твиков просто не упомянуты в исходном коде Android. Среди них есть самые разные записи.
Твики, не экономящие заряд:
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 debug.performance.tuning
video.accelerate.hw
Другие бесполезные твики.
Они предназначены для отключения проверки байт-кода Dalvik и запрета выгрузки лончера из оперативной памяти. Когда-то они действительно работали, но совершенно не актуальны для современных версий Android из-за изменения внутренней архитектуры ОС:
dalvik.vm.verify-bytecode
И ещё немного различных попросту не работающих твиков:
ro.media.dec.jpeg.memcap
ro.config.nocheckin
profiler.force_disable_ulog
profiler.force_disable_err_rpt
persist.sys.shutdown.mode
ro.kernel.checkjni
Интересно, что хотя некоторые из этих записей и были полезны для старых версий Android, некоторые не работали вообще никогда, являясь своего рода плацебо. А почему подобное массовое заблуждение вообще возникло — сейчас уже и не выяснить. Впрочем, от внесения таких записей в build.prop смартфон не станет хуже работать — все недействительные записи просто будут проигнорированы.
zRAM
Swap действительно очень медленный, и даже на десктопе его существование зачастую неоправданно, но что, если обмануть систему? Создадим виртуальный диск прямо в оперативке с встроенной функцией сжатия данных, подключим его как swap — и вуаля. Функция сжатия данных довольно дешева даже для современных мобильных процессоров, поэтому мы сможем расширить размер оперативки практически без потерь производительности.
Идея настолько правильная, что даже Google рекомендует применять zRAM для основанных на KitKat устройствах в том случае, если объем оперативки не превышает 512 Мб. Загвоздка только в том, что способ работает лишь для современных бюджетников, то есть устройств, основанных на многоядерных бюджетных процах от какой-нибудь MTK и 512 Мб оперативки. В этом случае поток шифрования можно вынести на отдельное ядро и вообще не париться о производительности.
На устаревших устройствах с одним ядром, для которых «гуру форумов» и рекомендуют применение данной технологии, мы вновь получим лаги, причем в довольно большом количестве. То же, кстати, относится и к технологии KSM (Kernel SamePage Merging), которая позволяет объединять одинаковые страницы памяти, освобождая таким образом пространство. Она также рекомендована Google, но на старых девайсах приводит к еще большим лагам, что вполне логично, учитывая постоянно активный ядерный поток, который непрерывно ходит по памяти в поисках дубликатов страниц (а так ли много этих дубликатов на самом деле?).
Вердикт: зависит от устройства, в большинстве случаев замедляет систему.
Использование ViewModel для хранения данных пользовательского интерфейса
ViewModel предназначен для хранения данных, связанных с пользовательским интерфейсом, и управления ими с учетом жизненного цикла.
Во-первых, замените логику сохранения и восстановления состояния в MainFragment.kt подходом, использующим ViewModel.
В пакете viewmodels создайте новый класс с именем MainViewModel.kt.
Это будет ViewModel для вашего главного экрана. Вы будете использовать его для сохранения состояния DogCount. Используйте _dogCount для отслеживания состояния и dogCount для отображения его наблюдателям. Для обновления состояния используйте setDogCount().
Если вы хотите узнать больше о LiveData, обратитесь к Android Developer documentation.
В MainFragment.kt добавьте следующее:
Добавьте следующую строку выше onCreate():
Таким образом, вы добавили код для создания MainViewModel для MainFragment.
Затем добавьте в MainFragment.kt следующий метод:
Этот метод позволяет вам подписаться на наблюдаемое состояние в MainViewModel. Каждый раз, когда состояние dogCount изменяется, приложение передает новое состояние во вью, и с новым состоянием вызывается renderDogCount(), в результате чего пользовательский интерфейс обновляется.
Затем измените onViewCreated(), чтобы подписаться на MainViewModel после вызова суперкласса:
Вам также понадобится логика, которая обновит состояние в MainViewModel. Измените updateDogCount() следующим образом:
Этот метод вызывается всякий раз, когда пользователь обновляет счетчики. Он обновит MainViewModel с новым состоянием. MainViewModel протолкнет это состояние через dogCount, и MainFragment получит уведомление, поскольку он подписан на MainViewModel.
Наконец, в MainFragment удалите onSaveInstanceState(), вызов renderDogCount (dogCount) из onResume() и код saveInstanceState? .Run {…} в onCreate(). Вам это больше не нужно.
Скомпилируйте и запустите приложение. Коснитесь счетчиков пару раз и поверните экран. Вы должны увидеть что-то вроде этого:
На приведенном ниже рисунке можно увидеть время жизни ViewModel рядом с соответствующим жизненным циклом действия.
Объекты ViewModel привязаны к Lifecycle, передаваемому ViewModelProvider при получении ViewModel. Он остается в памяти до тех пор, пока Lifecycle, на который он рассчитан, не исчезнет навсегда. В случае активити это происходит, когда она завершена. Для фрагмента это происходит, когда он отсоединяется.
Модернизация:
Для начала делаем бекап и другие действия для сохранения нервов в случае неудачного редактирования файла! Далее открываем файл и начинаем его редактирование.
Если описанных ниже строчек нет в вашем файле, то просто пишите их в конец файла.
Поехали (вместо звездочки * пишем нужное нам значение):
1) debug.sf.hw=*. Эта строчка отвечает за Аппаратное ускорение. Оно нужно для ускорения графического интерфейса. Значение 1 его активирует. Значение 0 его выключает. Пробуйте, проверяйте и вам воздастся. Лично у меня возникает рябь в графике (возможно сильная!), поэтому оффнул его.
2) wifi.supplicant_scan_interval=***. Эта строчка отвечает за интервал поиска Wi-Fi сетей. По умолчанию стоит 20. Значение измеряется в секундах. Это означает, что у нас стоит 20 сек. Советуется для экономии батареи поставить значение 180-200.
3) pm.sleep_mode=1 ro.ril.disable.power.collapse=0 – иностранные коллеги также советуют прописать эти 2 строчки для экономии заряда батареи.
4) dalvik.vm.heapsize=*m. Эта строчка устанавливает значение heapsize. Смысл в том, что в большинстве прошивок установлено малое значение памяти для использования приложением, программа расширяет это значение, тем самым увеличивая производительность и делая устройство более стабильным. Большое значение лучше не ставить, хотя можно поэкспериментировать. Лучший вариант — это 32m. Его кстати и рекомендуют.
5) dalvik.vm.execution-mode=int:***. Эта строчка отвечает за JIT. Значение jit включает его, а значение fast выключает. Технология JIT также служит для увеличения производительности аппарата. Еще раз напомню-может работать не у всех.
6) windowsmgr.max_events_per_sec=60. Делает интерфейс более гибким и плавным. Этой строчки изначально нет, нужно дописывать самому. Можете поиграться со значениями и выбрать подходящее.
7) ro.media.enc.jpeg.quality=100-повышаем качество jpg. А если быть более точным, то изменяем степень сжатия фоток. При параметре 100 размер фоток вырастет примерно в 2 раза.
ro.media.dec.jpeg.memcap=8000000 ro.media.enc.hprof.v >
Как редактировать build.prop?
Всё, что вам потребуется для внесения изменений — редактор текстовых файлов и права суперпользователя. Узнать, как получить root-доступ, можно на нашем форуме вразделе прошивок для Android в теме, посвящённой вашему смартфону или планшету. Для непосредственных изменений в файле можно пользоваться обычным текстовым редактором — для этого придётся самостоятельно найти файл по пути /system/build.prop. Но намного удобнее вносить изменения с помощью специализированной программы, например,BuildProp Editor .
Перед тем как приступить к экспериментам, необходимо обязательно сделать резервную копию файла. BuildProp Editor сохраняет бэкап оригинала автоматически при первом запуске. Если же вы решите пользоваться обычным текстовым редактором, то не забудьте сделать копию вручную. Если что-то вдруг пойдёт не так, то вам будет достаточно заменить «испорченный» build.prop резервной копией, чтобы вернуть всё на свои места.
Настройка анимаций
Планшеты нередко используют анимации в качестве дополнительных визуальных эффектов при переходе между пунктами меню и программами. Однако излишняя анимация нагружает процессор и заставляет устройство дольше думать, выполняя те или иные действия. Для отключения эффектов нужно:
Открыть настройки устройства.
- Перейти в раздел «Для разработчиков».
- Тапнуть по вкладке «Анимации».
- Установить значение «Отключено».
Важно. По умолчанию раздел «Для разработчиков» скрыт от посторонних глаз
Чтобы он появился, нужно несколько раз тапнуть по номеру сборки во вкладке «О планшете».
После отключения анимаций переходы между окнами станут не такими красивыми, но зато вы ускорите их обработку. Таким образом, даже старый планшет визуально будет работать быстрее.
Класс BuildConfig
В статье упоминался способ быстрого отключения журналирования.
Суть в следующем. Когда вы создаёте новые переменные в блоках defaultConfig или buildTypes (ветки debug и release), то Gradle создаёт специальный класс BuildConfig, и вы можете получить доступ к этим переменным.
Например, добавим переменную в defaultConfig
На языке Java это равносильно String YOUR_TOKEN = «ABRAKADABRA»;
Теперь мы можем обратиться к созданной строке.
С секцией buildType ситуация интереснее. У секции есть два блока debug и release. Можно создать переменные с разными значениями, которые будут использоваться в зависимости от ситуации. Например, у вас есть собственное API для сервера. Для тестирования вы используете один адрес, а для финальной версии — другой адрес. Тогда вы просто указываете разные адреса в разных ветках. Переменные могут быть не только строковыми.
Создаём код для перехода на веб-страницу.
Теперь вам не нужно переписывать каждый раз код. Загружаться будет страница по нужному адресу автоматически.
Разделяем отладочную и финальную версию
По такому же принципу можно организовать запуск новой версии программы, не затрагивая программу, которую вы установили с Google Play. Допустим вы на своём телефоне установили своё собственное приложение через Google Play. Теперь вам нужно написать новую версию и проверить на своём телефоне. Из-за конфликта имён новое тестируемое приложение перепишет финальную версию или вообще не установится. Поможет следующий трюк.
В специальных переменных applicationIdSuffix и versionNameSuffix мы задаём суффиксы, чтобы избежать конфликта. А в переменной resValue указываем название программы для отладочной и финальных версий, чтобы на устройстве можно было их найти. Не забудьте при этом удалить строковый ресурс app_name в res/values/strings.xml, иначе получите ошибку при компиляции. Теперь можете спокойно запускать приложение с новым кодом, не боясь повредить своё любимое приложение.
Прячем секретную информацию
Следующий совет больше подходит для компаний. Когда подписывается приложение, то нужно указывать пароль, хранилище и т.д. Чтобы их не светить в студии, можно прописать их в переменных и поместить в секцию signingConfigs. Сервер сам найдёт нужные ключи и воспользуется ими в своих сценариях.
Автогенерация версии кода
Нашёл совет, сам не применял. Не обязательно вручную менять версию приложения в атрибутах versionCode и versionName, можно сделать через переменные, а они сами подставятся в нужное место. На любителя.
Твики 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;
Далее следует еще несколько строк, относящихся к другим планировщикам (кстати, обрати внимание на совершенно лишние точки с запятой в конце команд). Что во всех этих строках не так? Первые две команды бессмысленны по двум причинам:
- Планировщики I/O в современном ядре Linux сами способны понять, с каким типом носителя информации они имеют дело.
- Такая длинная очередь ввода-вывода (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, не нужно ничего.
Best Build Prop Tweaks For Jellybean, Kitkat, Lollipop & Marshmallow Android Versions
1. 3G Tweaks
ro.ril.hep=0 |
ro.ril.hsxpa=2 |
ro.ril.gprsclass=12 |
ro.ril.enable.dtm=1 |
ro.ril.hsdpa.category=8 |
ro.ril.enable.a53=1 |
ro.ril.enable.3g.prefix=1 |
ro.ril.htcmaskw1.bitmask=4294967295 |
ro.ril.htcmaskw1=14449 |
ro.ril.hsupa.category=6 |
4. Improves Audio & Video Recording Quality
ro.media.enc.jpeg.quality=100 |
ro.media.dec.jpeg.memcap=8000000 |
ro.media.enc.hprof.vid.bps=8000000 |
ro.media.capture.maxres=8m |
ro.media.panorama.defres=3264×1840 |
ro.media.panorama.frameres=1280×720 |
ro.camcorder.videoModes=true |
ro.media.enc.hprof.vid.fps=65 |
5. Faster Videos Streaming
media.stagefright.enable-player=true |
media.stagefright.enable-meta=true |
media.stagefright.enable-scan=true |
media.stagefright.enable-http=true |
media.stagefright.enable-rtsp=true |
media.stagefright.enable-record=false |
6. Saves Power
ro.mot.eri.losalert.delay=1000 (Could Brake Tethering) |
ro.ril.power_collapse=1 |
pm.sleep_mode=1 |
ro.mot.eri.losalert.delay=1000 |
7. Disables Built In Error Reporting
profiler.force_disable_err_rpt=1 |
profiler.force_disable_ulog=1 |
net.tcp.buffersize.default=4096,87380,256960, 4096, 16384,256960 (Better Net Speed) |
net.tcp.buffersize.wifi=4096,87380,256960,409 6,163 84,256960 (Better Net Speed) |
net.tcp.buffersize.umts=4096,8 7380,256960,4096,163 84,256960 (Better Net Speed) |
net.tcp.buffersize.gprs=4096,8 7380,256960,4096,163 84,256960 (Better Net Speed) |
net.tcp.buffersize.edge=4096,8 7380,256960,4096,163 84,256960 (Better Net Speed) |
11. Better Scrolling
windowsmgr.max_events_per_sec=150 |
ro.min_pointer_dur=8 |
ro.max.fling_velocity=12000 |
ro.min.fling_velocity=8000 |
19. Dalvik Virtual Machine Tweaks
dalvik.vm.checkjni=false |
dalvik.vm.dexopt-data-only=1 |
dalvik.vm.heapstartsize=5m |
dalvik.vm.heapgrowthlimit=48m |
dalvik.vm.heapsize=64m |
dalvik.vm.verify-bytecode=false |
dalvik.vm.execution-mode=int:jit |
dalvik.vm.lockprof.threshold=250 |
dalvik.vm.dexopt-flags=m=v,o=y |
dalvik.vm.stack-trace-file=/data/anr/traces.txt |
dalvik.vm.jmiopts=forcecopy |
(Default value is 240. Don’t forget to install a patched market after changing it.)
ro.sf.lcd.density=240 |
21. Disables Locating | Also delete /system/app/networklocation.apk and /system/
framework/com.android.location.provider.jar |
ro.com.google.locationfeatures=0 |
ro.com.google.networklocation=0 |
23. MMS APN Retry Timer Set To 2 sec
(If SMS/MMS couldn’t be sent, it retries after 2 instead of 5 seconds)
o.gsm.2nd_data_retry_config=max/_retries=3, 2000, 2000, 2000 |
(May be unstable – better have it activated)
debug.gr.swapinterval=0 |
29. Disable Notification While adb Is Active
persist.adb.notify=0 |
These were the some Top Build Prop Tweaks for Android devices. I think I have covered all categorized build.prop tweaks for you. If I missed something, feel free to comment below. On Internet only these are the most popular tweaks I had founf that’s why I shared these one only.
Блуждая по форумам и разного рода сайтам, посвященным Android, мы постоянно сталкиваемся с советами, как увеличить производительность смартфона. Одни рекомендуют включить swap, другие — добавить специальные значения в build.prop, третьи — изменить переменные ядра Linux. Подобного рода рецептов в разных вариантах можно найти огромное количество, что на XDA, что на 4PDA. Но работают ли они на самом деле?
Как ускорить смартфон
1. Обновляйте вашу операционную систему.
Если ваш смартфон работает медленнее, чем раньше, то, возможно, операционная система, которая на нем стоит, не последней версии. Более новые версии iOS или Android позволят вашему смартфоны улучшить свои показатели в плане быстрой работы.
Но перед обновлением стоит подключить телефон к WiFi и сохранить все данные. Кроме этого, убедитесь, что ваш смартфон поддерживает новую версию операционной системы, так как слишком старые аппараты, а также ультрабюджетные смартфоны, не могут быть оптимизированы.
Для iPhone
«Настройки» (Settings) – «Общие» (General) – «Обновление системы» (Software Update).
Для устройств на Android
«Настройки» (Settings) – «О телефоне» (About Phone) – «Обновление системы» (System Updates) или «Software Updates», чтобы проверить наличие обновлений.
2. Отключите или ограничьте анимацию в телефоне.
Анимация окон на телефоне (когда переходишь с одного экрана на другой или с одного приложения на другое), конечно, выглядит красиво и эффектно, но эти детали могут замедлить работу смартфона, так как нуждаются в дополнительных системных ресурсах.
Для устройств на Android:
Вариант 1: «Настройки» – «Экран» – «Анимация», после чего выбираем «Без анимации».
Вариант 2: «Настройки» – «Для разработчиков», найдите пункты, которые отвечают за анимацию и выберите «Отключение анимации» или «Без анимации».
Для устройств на iOS:
«Настройки» — «Основные» – «Универсальный доступ» – «Уменьшение движения». После этого попробуйте включить или закрыть любое приложение и далее перейти в панель многозадачности. Анимация не отключилась, но стала другой.
Топ 10 лучших смартфонов 2016 года в мире
3. Старайтесь устанавливать только самые необходимые приложения.
В магазинах приложений можно найти огромное количество всяких программ и инструментов, и кажется, что многие из них вам нужны. Но стоит подумать, стоит ли вам устанавливать то или иное приложение, и будете ли вы им действительно часто пользоваться.
Любое приложение использует ресурсы вашего смартфона, и чем их меньше, тем быстрее работает ваше устройство.
Вместо выводов
Для кого-то все описанное в статье может показаться несколько надуманным. Дескать, все это можно сделать с помощью стандартного софта и Tasker. Но зачем использовать тяжелый Java-софт там, где нужное действие можно выполнить с помощью простенького скрипта, который не занимает лишней памяти и может быть легко перенесен на другое устройство? Скрипты удобны, просты, быстро отрабатывают и дают возможность тонкой настройки под себя.
Евгений Зобнин
Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.
Build.prop и init.d скрипты и твики в Андроид. Хотели бы качественно улучшить работу Android смартфона или планшета в плане быстродействия и автономности и автоматизации? В этом вам помогут скрипты и твики в build.prop / init.d!
К большому сожалению практически многие производители Android смартфонов и планшетов не реализовывают весь потенциал устройства, что фактически влияет на скорость работы, автономность, повышение функциональности, удобства.
На данной странице вы найдете коллекцию скриптов и твиков Android build.prop и init.d.