26 September 2017

Почему Android смартфоны с течением времени начинают плохо работать и как это победить (part.2)


Окончание. Начало находится здесь

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


Greenify & Brevent 

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

Вот пример того, что показывает Greenify на моем телефоне:


"Running in background" это сервисы, которые выполняются в данный момент (не все, а только те, которые Greenify потенциально мог бы блокировать). Как видим, список у меня аж на два пункта, что есть прямым следствием того, что я это дело уже основательно заоптимизировал.
Раздел "May slow down when..." это те ребята, которые содержат подписку на те или иные события (broadcast receivers), т.е. потенциально могут вести себя не очень красиво.

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

Для использования этого приложения вам понадобится ПК с настроенным на нем adb (Android Debug Bridge). Я кратко опишу процедуру установки adb для Windows, если что, плюс минус тоже самое можно проделать и в случае MacOS или Linux. Сразу скажу, ничего опасного, способного навредить вашему гаджету при этом не происходит, это абсолютно штатная процедура, которую проделывает любой разработчик приложений под Android.

Итак.

Шаг 1. В Developers options (которые мы активировали в прошлом разделе) включите "USB debugging".

Шаг 2. Установите USB драйвер на ПК с поддержкой вашего телефона. Обычно эта штука vendor specific, для Samsung, например, можно забрать тут.

Шаг 3. Скачайте и установите на ПК SDK Platform Tools.

Шаг 4. Подключите ваш телефон к ПК. Если понадобится, дайте необходимые разрешения для работы.

Шаг 5. Запустите командую строку в той папке, куда вы установили SDK. Выполните команду "adb devices". Если вы сделали все правильно, она покажет вам подключенный телефон. Если список будет пуст, где-то что-то у вас пошло не так.

Теперь вы готовы начать работу с Brevent. Установите приложение из маркета. Запустите. При подключенном к ПК телефоне выполните в консоли следующую команду:
"adb -d shell sh /data/data/me.piebridge.brevent/brevent.sh".
Приложение должно сообщить, что оно успешно подключилось к своему серверу.

Основной экран Brevent представляет собой список работающих в данный момент приложений. Выбираем несколько из них (с помощью меню, которое появляется при тапе) и нажимаем на значок "brevent" вверху экрана.
Детальное поведение того, как breventing действует на выбранные приложения, описывается в настройках. Я для себя выбрал режим "only force-stop", а "background timeout" выставил в один час.
Как это работает. Например, я добавил в brevent list приложение QuickPic -- отличный просмотрщик картинок, который я уже упоминал в первой части материала. Теперь, если я запущу это приложение и буду им активно пользоваться (т.е. возвращаться к нему в течении часа), оно будет висеть в памяти. Из памяти оно вылетит при одном из двух условий -- или я его явно закрою одним из стандартных способов (например, свайпом в списке запущенным приложений), или если я не буду к нему возвращаться в течении часа.

Brevent на моей смартфоне. Часики и таймер рядом с Instagram говорят о том, что если я не буду пользоваться этим приложением в течении 50 минут, то оно будет принудительно выгружено из памяти 

Уже хорошо! С приложениями, которые мы редко используем, но которые оставляют за собой непонятно для чего висящие в памяти сервисы, мы таким образом расправились. Но есть одна проблема -- приложения, которым реально нужен фоновый режим работы, например, всевозможные IM программы, у которых сервисы ответственны за получение новых сообщений и уведомления о них. Если к таким программам применить breventing, то после их принудительного завершения вы уведомления о новых сообщениях получать не будете. А это не есть хорошо. Проблема эта решается довольно просто -- для нужного приложения в контекстом меню выберите пункт "Allow sync". Это будет автоматически восстанавливать принудительно остановленное через breventing приложение в тех случаях, когда ему прилетает какое-либо push уведомление...
В принципе, этих знаний вполне достаточно, чтобы начать использовать Brevent.

Ряд дополнительных замечаний:
  • к сожалению, поднимать Brevent сервис через adb нужно каждый раз после перезагрузки смартфона. Лично я свой перезапускаю крайне редко, поэтому для меня это не проблема. Если это не ваш случай -- ищите другие решения, возможно вам все-таки нужен root. 
  • не стоит вносить в brevent список непонятные или системные приложения 
  • не стоит вносить в brevent список критически важные для вас приложения, потому что иногда случаются разные побочные эффекты. К примеру, если очень долго не запускать Viber, в нем может слететь привязка к вашему телефону. 
  • не стоит вносить в brevent список приложения, которыми вы часто пользуетесь. Потому что система будет постоянно занята их прибиванием, а потом запуском по-новой.  
  • приложение абсолютно бесплатное, поэтому если оно вам приглянулось, пожалуйста, не забудьте сделать пожертвование 
  • не надо рассказывать мне и другим, как вы счастливы со своим айфоном. 


Вместо заключения

Очень надеюсь, что хотя бы некоторые из вас узнали для себя что-то новое. Не бойтесь и не поленитесь сделать для себя первые, самые простые шаги -- активируйте возможность смотреть запущенные сервисы в "Developer options", установите Greenify. Возможно, что по итогам увиденного вы ограничитесь лишь тем, что просто удалите пару-тройку редко используемых приложений, от которых в памяти постоянно висят сервисы. А возможно, что увиденная картина послужит толчком к тому, чтобы все-таки основательно заняться гигиеной своего смартфона, установить и настроить Brevent. 
Делитесь своим опытом, это будет интересно и мне, и другим читателям! 


No comments:

Post a Comment