Наверх
Это запись из блога автора Ходжаев
Мнение редакции сайта Keddr.com может не совпадать с мнением данной публикации.
Читать правила написания блогов
4 комментария 30/11/2013

Как расширить ограничения стандартного таск-киллера на Android

Как расширить ограничения стандартного таск-киллера на Android

Насколько Вы сильно злитесь, когда переключаетесь с активного приложения на другое, а, вернувшись к первому, наблюдаете, как приложение запускается с нуля? Или, свернув/закрыв приложение, видите, как перерисовывается лаунчер? Это — не удивительно, так как на каждой прошивке существуют если не одни и те же, то не намного измененные значения на остановку фоновых приложений. С помощью этой инструкции Вы проконтролируете патчинг services.jar, который изменит параметры в мультизадачности.

Да, именно “проконтролируете патчинг”, потому что за Вас это сделает утилита, совместимая с тремя ОС: Windows, Linux, Mac. Говорим спасибо zeppelinrox, благодаря которому мы получили сие чудо.

Стандартно Android завершает свернутые приложения в фоне через 30 минут и имеет ограничение на количество запущенных приложений, по достижении которого одно из приложений в фоне закрывается. Зачем это было реализовано? Для того, чтобы система освобождала память от ненужных для неё приложений и была готова к запуску других, более или менее ресурсоемких приложений, а также для автономности устройства. Получается, что не мы управляем активными приложениями в фоне, а система делает это вместо нас, но она с этим так плохо справляется, что пользователя это, мягко говоря, не устраивает. На самом деле стандартный таск-киллер и сам справляется очень хорошо, если Вы не испытываете трудностей с самопроизвольной остановкой свернутых приложений через определенное время, можете дальше не читать.

После того, как Вы проделаете несложные действия (большая часть которых — нажатие на клавиши клавиатуры), руководствуясь инструкцией, мультизадачность системы будет работать так, как она должна. При этом проблема, связанная с выгружением приложений из памяти, исчезнет. Но не стоит забывать, что устройства с оперативной памятью менее 512 Мб не смогут постоянно держать в памяти, допустим, 6 или более приложений, а также, что другие приложения будут вытесняться очень ресурсоемкой игрой для лучшей производительности. Всё же, патч работает не просто здорово, а превосходно! К примеру, у меня при прослушивании музыки, запуске нескольких простых игр, общении по мессенджеру, воспроизведении табулатур онлайн, съёмке фото и запуске еще некоторых приложений, браузер, читалка и видеоплеер (с приостановленным видео) остаются в памяти уже третий день.

Может, Вы ломали систему и не делали бэкап, когда Вас об этом просили на других ресурсах, но знайте: здесь этот трюк не пройдет. В любом случае, кирпич не получите, но система может не прогрузить патченный services.jar и Вы будете довольствоваться бутлупом (т.е., вечной загрузкой). Сама же утилита сначала разбирает файл services.jar, потом меняет значения внутри файлов “ActivityManagerService” и “ProcessList”, а в завершении собирает архив и загружает его прямо в устройство. Всё для лентяев.

Делая все манипуляции с устройством, Вы принимаете всю ответственность на себя. Никто не будет виноват, кроме Вас.

Что у нас должно быть:
1. Устройство с рутом, начиная с 2.2 по 4.3 (для стоковых HTC — обязательно 4.0+ ), кастомное рекавери для бэкапа.
– Если у Вас нет рут полномочий, как и кастомного рекавери — погуглите.
2. Установленный Java Development Kit.
– Если у Вас уже установлен JDK, но он совсем древний, советую его обновить.
3. Установленные драйвера ADB на компьютере, совместимые с Вашим девайсом.
– Попробовать найти можно здесь.
4. Сама утилита.
5. Внимательность.

Если вышеперечисленные пункты уже имеются, тогда приступим.

Делаем бэкап. Делаем бэкап. Делаем бэкап.

Распаковываем патчер, куда угодно, и смело запускаем утилиту. Пока мы видим не очень стандартную закрузку, патчер создаёт рабочие папки. I may need more ROOM!

Нажимаем на любую клавишу в окне патчера. Здесь происходит самое интересное: утилита спрашивает, как мы ей разрешим работать. Она предлагает следующее:

  1. Подключить устройство по USB и сделать всю работу самой.
  2. Подключить устройство по Wi-Fi и патчить, пока Вы заняты “ну, очень важными делами”.

Рассмотрим первый вариант:
В устройстве включаем отладку по USB (на кастомных прошивках, которые базируются на CyanogenMod, начиная с девятой версией, не забываем указать разрешение доступа рута по ADB), коннектим к компьютеру и возвращаемся к патчеру, жмём Enter. На вопрос “Restart adb as root?”, нажимаем на “y”. После того, как пробегут строки, также жмём Enter и ждём. В этот момент патчер разбирает services.jar для того, чтобы править “ActivityManagerService”и “ProcessList”. Когда он закончит распаковку, жмём Enter. И можем наблюдать, как утилита не просто описывает функции патчей, а восхваляет их.

  • SuperCharge — основной патч, благодаря которому система не убивает приложения в фоне. Приложения будут оставаться в памяти не только весь день, а даже несколько дней.
  • MAXIMUM OVERDRIVE — патч-мод, который редактирует стандартное допустимое количество запущенных фоновых приложений, скрытых от пользователя.
  • ProActive Booster — патч-мод, который изменяет значение допустимых запущенных приложений до пятидесяти.

Если Вы хотите, так сказать, полный комплект, жмите “y”, если же хотите отказаться — “n”. Утилита начнёт правку значений, а затем соберёт архив, после чего этот файл будет загружен в устройство. Можно закрывать программу и перезагружать девайс.

Второй вариант отличается от первого только тем, что необходимо при первом запросе, т.е. ,”Just press the enter key for USB” написать IP-адрес и порт. Очень сильно поможет это приложение или любое другое со схожим функционалом.

Также существует и третий вариант, для которого нам понадобится “выдернутый” из прошивки services.jar (если система одексирована, то понадобятся два файла: services.jar и services.odex). Копируем этот файл/эти файлы в рабочую папку “patch_this”, которая создалась патчером, открываем программу и жмём на клавишу “P”. Если мы хотим после правки services.jar позволить утилите самостоятельно загрузить его в устройство по ADB, жмём “I”, если же нет — жмём “Enter”. Во втором случае, пропатченный файл можно будет найти в папке “supercharged” (и она была создана утилитой).

Если же services.jar не обновился (проверить можно по дате файла через любой рут-проводник), видимо, Вы ответили на вопрос “Restart adb as root?” отрицательно. Повторите ещё раз, будьте внимательны! Если это не помогло, и Вы убедились в своей внимательности, то копируем services.jar в память девайса из папки “supercharged”, что в директории патчера, и с помощью рут проводника на устройстве копируем патченный файл в директорию “/system/framework/”. Оригинальный файл лучше незамудренно переименовать (например, services.jar1). Перезагружаем устройство.

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

На этом — всё. Помните, что кнопка “Домой” сворачивает приложение, а кнопка “Назад” — останавливает.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

4 комментария

по хронологии
по рейтингу сначала новые по хронологии
1

Столько геморроя и ради чего? Ну вот серьезно, никогда не раздражал таск-киллер...

2
Денди Купер

раньше(до перепрошива) частенько бывало: играешь ты такой в RR3 и тебе, допустим, приходит сообщение в вотсапе(которое идет поверх всех окон) или просто на просто надо свернуть игру, и прикрутить яркость. Так вот, сворачиваешь ты свой любимый RR3 иии….. И все. Его нет. Прям посреди гонки (

так что такая возможность может кому-то и пригодится)

Автор3

Устройств много, как и мнений людей на счет работы их устройств)

4
Денди Купер

Устройство с рутом, начиная с 2.2 по 4.3

а что на счет 4.4 ??

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

Modal box

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: