Овај водич вам показује како да замрзнете позадинске процесе било које апликације на Андроид 7.0 и 7.1 Ноугат без роот-а помоћу скривене АДБ команде.
Андроид се одувек сматрао „моћнијом“ мобилном платформом у поређењу са иОС-ом због тога колико слободе имају његове апликације треће стране. Ово омогућава пуно аутоматизације једноставно зато што Андроид апликације могу да обављају више задатака док раде у позадини. Међутим, ово долази са лошом страном јер отвара врата за потенцијално више пражњења батерије захваљујући позадинским процесима који се покрећу на уређају.
Једно је знати да пуните свој телефон апликацијама које раде у позадини јер сте вољни да жртвујете део трајања батерије за предности које оне доносе. Друга је прича ако само преузимате традиционалне апликације које нису оптимизоване и које обављају задатке у позадини када то не желите или чак не требате. Гоогле ради на томе да ово поправи постављајући све више ограничења на оно у чему апликације могу да раде позадини, а издавање Андроид-а О доноси највише позадинских ограничења процеса/пријемника далеко.
Међутим, велика већина корисника неће видети Андроид О на својим уређајима још много месеци (ако уопште и уопште). Али ако трчите Андроид 7.0 или Андроид 7.1, постоји једноставан трик који можете да урадите ручно спречите да се апликација икада покрене у позадини - и то не захтева роот или апликација треће стране. Ово је моћније од онога што Греенифи или апликације попут Бревента нуде, јер су без роот приступа те апликације прилично ограничене у ономе што могу да ураде. Али са овим триком, сада можете блокирајте апликације као што су Фацебоок или Хангоутс никада не раде у позадини - радиће само када се активно користе!
Водич за ограничавање позадинских процеса
Захтеви:
- Андроид Ноугат (7.0 или 7.1) уређај
- Инсталирајте УСБ драјвере за ваш одређени ОЕМ уређај (Гоогле даје листу неких универзални УСБ драјвери овде).
- Преузмите АДБ бинарни за ваш одређени ОС (Виндовс, Мац, Линук). Ове везе ће увек упућивати на најновију верзију бинарне датотеке.
- Извуците садржај ЗИП датотеке у лако доступну фасциклу на рачунару.
- Идите у апликацију Подешавања на телефону и додирните опцију О телефону.
- Пронађите број израде и додирните га 7 пута да бисте омогућили режим програмера.
- Вратите се на главни мени Подешавања и унесите Опције за програмере да бисте омогућили режим УСБ отклањања грешака.
- Укључите телефон у рачунар и промените га из режима „само пуњење“ у режим „пренос датотека (МТП)“. Ово није неопходно на сваком уређају, али многи уређаји то захтевају као безбедносну меру пре него што допусте АДБ-у да ради.
- Вратите се на рачунар и идите до директоријума у који сте издвојили АДБ бинарни фајл.
- Покрените командну линију или терминал у вашем АДБ директоријуму. За кориснике оперативног система Виндовс, то се може урадити тако што ћете држати Схифт и кликнути десним тастером миша, а затим изабрати опцију „отвори командну линију овде“. (Неки корисници Виндовс 10 могу видети да је „командна линија“ замењена са „ПоверСхелл“.)
- Када сте у командној линији или терминалском окружењу, унесите следећу команду:
adb devices
- Ово ће покренути АДБ демон ако већ није покренут, само сачекајте да се заврши. Ако први пут користите АДБ, такође ћете видети упит на свом телефону у којем се тражи да одобрите везу са рачунаром. Дозволите приступ УСБ отклањању грешака овде.
- Сада ако поново покренете команду адб девицес из корака 10, командна линија/терминал ће одштампати серијски број вашег уређаја. Ако је тако, онда сте спремни да кренете даље. Ако нису, онда УСБ драјвери вероватно нису правилно инсталирани.
- Затим ћете морати да пронађете назив пакета за апликацију за коју желите да замрзнете позадинске процесе. То можете учинити тако што ћете инсталирати Апп Инспецтор апликацију на свом телефону.
- Вратите се на командну линију и унесите следећу команду:
adb shell
- Сада извршите следећу команду да бисте ослободили позадинске процесе апликације:
cmd appops set
RUN_IN_BACKGROUND ignore - Ако икада пожелите да вратите промену коју сте управо направили и поново дозволите позадинске процесе апликације, унесите ову команду:
cmd appops set
RUN_IN_BACKGROUND allow - Знаћете да функционише ако вас врати на другу АДБ схелл промпт и не прикаже вам поруку о грешци.
Објашњење
Како тачно ова команда функционише је то што вам омогућава да ограничите скривену дозволу која обично није доступна кориснику у апликацији Подешавања. Ова дозвола се зове РУН_ИН_БАЦКГРОУНД дозвола и једини начин на који се може изменити је коришћење "цмд аппопс“ који је интерфејс командне линије за „Апп Опс“ – Гоогле-ов систем за управљање дозволама окренут корисницима.
Гоогле је додао ову скривену АДБ команду која вам омогућава да ограничите било коју апликацију од примања имплицитних намера емитовања (тј. апликација која се буди у позадини) и такође спречити те апликације да закажу услуге у позадини без коришћења ЈобСцхедулер-а (тј. апликација се буди у неодговарајуће време и празни батерију). Ова команда је заправо намењена само програмерима који желе да симулирају како би њихова апликација радила у условима мале меморије, али на срећу ми можемо да је ставимо у своју употребу.
Уклањањем зависности од позадинских услуга апликације и имплицитних пријемника емитовања регистрованих у манифесту, програмери могу да оптимизују своју апликацију да боље ради на уређајима са мало меморије. Гоогле каже да апликације оптимизоване за ове типове уређаја, или оне који су у условима мале меморије, могу побољшати и перформансе и корисничко искуство. На Гоогле И/О ове године, објавила је компанија модификована верзија Андроид-а под називом Андроид Го, који ће се користити за паметне телефоне са веома мало меморије, тако да претпостављамо да би ова команда била корисна за програмере који циљају на ту платформу.
У сваком случају, ова команда може бити прилично корисна за просечног корисника, али пазите шта овде ограничавате. Апликације као што су Хангоутс или Фацебоок ће потпуно престати да се синхронизују у позадини док их не отворите, што ако је то оно на шта циљате, сигуран сам да вам не смета. Али немојте се изненадити када ваша е-пошта или поруке буду одложене ако покренете ову команду у апликацији која зависи од примаоца у позадини.