Поскольку для применения патчей вам придется вмешиваться в системные файлы ОС, то не забудьте сделать бекапы, потому что неумелое редактирование может привести к тому, что ваш смартфон потребует перепрошивку.
Заинтересовались? Добро пожаловать под кат за подробностями.
Build.prop
(/system/build.prop - просто правим текстовым редактором)
1. Запрет на выгрузку ланчера из памяти
ro.HOME_APP_ADJ=1
2. Сохранение jpg в 100% качестве
ro.media.enc.jpeg.quality=100
3. VM Heapsize; размер оперативной памяти на приложение
dalvik.vm.heapsize=48m
4. Включение GPU акселерации для отрисовки интерфейса системы
debug.sf.hw=1
5. Отключение задержки звонка
ro.telephony.call_ring.delay=0
6. Настройка чувствительности скроллинга списков
windowsmgr.max_events_per_sec=150
7. Оптимизация энергопотребения
wifi.supplicant_scan_interval=180
pm.sleep_mode=1
ro.ril.disable.power.collapse=0
8. Отключение иконки режима отладки в статусбаре
persist.adb.notify=0
9. Увеличение отзывчивости системы
debug.performance.tuning=1
video.accelerate.hw=1
10. Повышаем качество фото и видеозаписи
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
11. Твики уровня приема сети (3G)
ro.ril.hsxpa=2
ro.ril.gprsclass=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
12. Твики скорости сети
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
13. Избавляемся от черного экрана после звонка
ro.lge.proximity.delay=25
mot.proximity.delay=25
14. Исправляем некоторые проблемы приложений
ro.kernel.android.checkjni=0
15. Отключение пробуждения телефона по кнопкам громкости
ro.config.hwfeature_wakeupkey=0
16. Активация подсветки аппаратных клавиш при включеном экране
ro.mot.buttonlight.timeout=0
17. Отключение загрузочной анимации для ускорения загрузки
debug.sf.nobootanimation=1
18. Различные твики
ro.config.hw_menu_unlockscreen=false
persist.sys.use_dithering=0
persist.sys.purgeable_assets=1
dalvik.vm.dexopt-flags=m=y
ro.mot.eri.losalert.delay=1000
19. Твики, применимые исключительно к LG смартфонам
persist.service.pcsync.enable=0
persist.service.lgospd.enable=0
user.feature.flex=true
user.feature.lgdrm=false
user.feature.lgresource=false
user.feature.lgpoweroff=false
user.feature.ls_event=false
user.feature.ls_normal=false
user.feature.sui=false
Init.d
(требуется прошивка с доступом к init.d и busybox, открываем пустой файл, вставляем заголовок #!/system/bin/sh и сохраняем по адресу /system/etc/init.d и называем в духе 77tweaks)
1. Настраиваем количество минимально свободной памяти
echo "2048,3072,6144,15360,17920,20480" > /sys/module/lowmemorykiller/parameters/minfree
2. Твики скорости интернет-соединения
echo "0" > /proc/sys/net/ipv4/tcp_timestamps;
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse;
echo "1" > /proc/sys/net/ipv4/tcp_sack;
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle;
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling;
echo "5" > /proc/sys/net/ipv4/tcp_keepalive_probes;
echo "30" > /proc/sys/net/ipv4/tcp_keepalive_intvl;
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout;
echo "404480" > /proc/sys/net/core/wmem_max;
echo "404480" > /proc/sys/net/core/rmem_max;
echo "256960" > /proc/sys/net/core/rmem_default;
echo "256960" > /proc/sys/net/core/wmem_default;
echo "4096,16384,404480" > /proc/sys/net/ipv4/tcp_wmem;
echo "4096,87380,404480" > /proc/sys/net/ipv4/tcp_rmem;
3. Твики виртуальном машины
echo "4096" > /proc/sys/vm/min_free_kbytes
echo "0" > /proc/sys/vm/oom_kill_allocating_task;
echo "0" > /proc/sys/vm/panic_on_oom;
echo "0" > /proc/sys/vm/laptop_mode;
echo "0" > /proc/sys/vm/swappiness
echo "50" > /proc/sys/vm/vfs_cache_pressure
echo "90" > /proc/sys/vm/dirty_ratio
echo "70" > /proc/sys/vm/dirty_background_ratio
4. Различные твики ядра
echo "8" > /proc/sys/vm/page-cluster;
echo "64000" > /proc/sys/kernel/msgmni;
echo "64000" > /proc/sys/kernel/msgmax;
echo "10" > /proc/sys/fs/lease-break-time;
echo "500,512000,64,2048" > /proc/sys/kernel/sem;
5. Твики аккумулятора
echo "500" > /proc/sys/vm/dirty_expire_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_centisecs
6. Твики EXT4 (сильно увеличивают скорость I/O)
(необходимо, чтобы разделы /system, /cache, /data были в формате EXT4)
a) отключаем запись логов
tune2fs -o journal_data_writeback /block/path/to/system
tune2fs -O ^has_journal /block/path/to/system
tune2fs -o journal_data_writeback /block/path/to/cache
tune2fs -O ^has_journal /block/path/to/cache
tune2fs -o journal_data_writeback /block/path/to/data
tune2fs -O ^has_journal /block/path/to/data
b) изменяем способ монтирования разделов
busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /system
busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /data
busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /cache
7. Твики управления кешем
LOOP=`ls -d /sys/block/loop*`;
RAM=`ls -d /sys/block/ram*`;
MMC=`ls -d /sys/block/mmc*`;
for j in $LOOP $RAM
do
echo "0" > $j/queue/rotational;
echo "2048" > $j/queue/read_ahead_kb;
done
8. Твики скорости microSD карты памяти
echo "2048" > /sys/devices/virtual/bdi/179:0/read_ahead_kb;
9. Дефрагметирование файлов баз-данных
for i in
`find /data -iname "*.db"`
do
sqlite3 $i 'VACUUM;';
done
9. Отключаем лог
rm /dev/log/main
10. Системные твики
SAMPLING_RATE=$(busybox expr `cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency` * 750 / 1000)
echo 95 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo $SAMPLING_RATE > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
11. Авто изменение главного и I/O планировщика
a) I/O Scheduler (Best: MTD devices - VR; EMMC devices - SIO) - needs kernel with these
echo "vr" > /sys/block/mmcblk0/queue/scheduler
or
echo "sio" > /sys/block/mmcblk0/queue/scheduler
b) Governor (Best: Minmax > SavagedZen > Smoothass > Smartass > Interactive) - needs kernel with these
echo "governor-name-here" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
12. Авто-zipalign при загрузке
(требуется наличие zipalign библиотеки)
http://forum.xda-developers.com/showthread.php?t=860586
13. Твики плавности работы системы
http://forum.xda-developers.com/showthread.php?t=1205744
http://forum.xda-developers.com/showthread.php?t=1137554
14. Перенос dalvik-кеша в раздел cache, чтобы разгрузить раздел data
CACHESIZE=$(df -k /cache | tail -n1 | tr -s ' ' | cut -d ' ' -f2)
if [ $CACHESIZE -gt 80000 ]
then
echo "Large cache detected, moving dalvik-cache to /cache"
if [ ! -d /cache/dalvik-cache ]
then
busybox rm -rf /cache/dalvik-cache /data/dalvik-cache
mkdir /cache/dalvik-cache /data/dalvik-cache
fi
busybox chown 1000:1000 /cache/dalvik-cache
busybox chmod 0771 /cache/dalvik-cache
# bind mount dalvik-cache so we can still boot without the sdcard
busybox mount -o bind /cache/dalvik-cache /data/dalvik-cache
busybox chown 1000:1000 /data/dalvik-cache
busybox chmod 0771 /data/dalvik-cache
else
echo "Small cache detected, dalvik-cache will remain on /data"
fi
15. Отключение normalize sleeper
mount -t debugfs none /sys/kernel/debug
echo NO_NORMALIZED_SLEEPER > /sys/kernel/debug/sched_features
16. OOM groupings and priorities tweaks - SuperCharger
http://forum.xda-developers.com/showthread.php?t=991276
GPS.conf
(создайте или отредактируйте свой /system/etc/gps.conf текстовым редактором)
Для уменьшения времени поиска сигнала
a) Европейский NTP сервер (изменить на необходимый)
NTP_SERVER=europe.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
b) Sony Ericsson поддержка A-GPS (лучше чем от Nokia или Google)
SUPL_HOST=supl.sonyericsson.com
SUPL_PORT=7275
1. Патчим hosts для блокировки рекламных баннеров в приложениях
Для этого вы можете использовать приложение AdFree или вручную изменять hosts.
Базы:
http://www.mvps.org/winhelp2002/hosts.txt
http://pgl.yoyo.org/adservers/serverlist.php?showintro=0;hostformat=hosts
2. Используем список точек доступа и CyanogenMOD - он один из наиболее полных.
Расположен в /system/etc/apns-conf.xml
3. Используем кухню UOT для скинования вашего устройства.
http://uot.dakra.lt/
4. Используем Google dns сервер
Создайте пустой файл, назовите его resolv.conf и вставьте туда 2 строки:
nameserver 8.8.8.8
nameserver 8.8.4.4
Сохраните по адресу /system/etc/.
5. Обновляем приложение Superuser до последней версии
http://goo-inside.me/superuser/
6. Отключаем синхронизацию в sqlite
(требуются исходники для вашего устройства, поэтому можно скомпилировать /system/lib/libsqlite.so)
Патч здесь: http://forum.xda-developers.com/showthread.php?t=903507
7. Не используем таск-киллеры.
Увы, в некоторых местах правки, которые нам предлагаю вносить, не совсем понятны без дополнительной расшифровки. Давайте делиться знаниями и опытом в комментариях?
Droidnews информирует, но не несет никакой информации за возможные последствия применения данных твиков.