Принудително спиране и изчистване на кеша обяснено

Автор: Laura McKinney
Дата На Създаване: 6 Lang L: none (month-011) 2021
Дата На Актуализиране: 1 Юли 2024
Anonim
The Great Gildersleeve: Gildy’s New Car / Leroy Has the Flu / Gildy Needs a Hobby
Видео: The Great Gildersleeve: Gildy’s New Car / Leroy Has the Flu / Gildy Needs a Hobby

Съдържание


Ако имате проблем с приложение на вашия смартфон с Android, може да сте прочели, че трябва да направите „Принудително спиране“ и след това „Изчистване на кеша“, за да го коригирате. И всъщност това може би е точно това, което трябва да направите. Но защо това помага? Какво прави „Принудително спиране“ и какво е кеш? Нека обясня.

Принудително спиране

В основата на Android е ядрото на Linux, то е компонентът, отговорен за управлението на паметта и процесите, заедно с цял куп други ресурси. Всеки път, когато стартирате приложение, всъщност стартирате Linux процес.

Процесът е логичен контейнер за програма (приложение). Стартира се от ядрото и се използва като начин за споделяне на системните ресурси (включително памет и време на процесора) между всички работещи приложения. Всеки процес има идентификатор, известен като PID (процес ID); приоритет, колко е важен; собствено адресно пространство, плюс свързани страници на физическа памет; и някаква информация за състоянието: работи (или работи), спи, спира и зомбира.


Задачата на ядрото е да планира времето на процесора и да разпределя памет за процеса, така че той да може да работи. Начинът на работа е, че ядрото дава резени от време на процесора на всеки от стартираните процеси. Ако даден процес е в режим на сън (тъй като той чака нещо като данни от мрежата), той няма време за процесор. Това жонглиране на процесите продължава на милисекундно ниво, много бързо и точно като кадрите на карикатура, получавате вид на гладкост и множество програми, работещи наведнъж.

И накрая, когато приложението излезе, ядрото ще изчисти всички ресурси, използвани от приложението (като отворени файлове, разпределена памет и т.н.) и в крайна сметка ще изтрие процеса, създаден за това приложение.

Всяко приложение може да бъде в едно от няколко различни състояния: пускане, пауза или спиране. Те са различни от състоянията на процесите, както са дефинирани от Linux, и представляват „жизнения цикъл на дейността“, както е дефиниран от Android. Google го казва така: „когато потребителят се движи през, извън и обратно към приложението ви, активностите в случаите на преход на приложението ви през различни състояния в техния жизнен цикъл.“


Интересното при Android е, че той никога не убива приложение директно. Вместо това, той убива процеса, в който дейността протича, унищожавайки не само дейността, но и всичко останало, протичащо в процеса. Това може да направи това, когато трябва да освободи RAM или потребителят може да убие процес, използвайки Force Stop в Application Manager.

Когато всичко работи безпроблемно, приложение ще премине от едно състояние на активност в друго и в крайна сметка или ще бъде убито от Android (след преминаване в спряно състояние), или просто ще виси на заден план, докато потребителят не го изведе на преден план отново. Ако обаче нещата започнат да се объркат, приложението може да се държи неправилно. Може да спре да реагира на определени събития, може да се забие в някакъв цикъл или просто да започне да прави непредвидими неща.

В такива случаи приложението може да се наложи да бъде премахнато и рестартирано. За това е Force Stop, той по принцип убива процеса на Linux за приложението и изчиства бъркотията!

Причината, поради която се използва Force Stop, се препоръчва, когато се опитвате да коригирате неправилно поведение на приложението, това е 1) убива текущия работещ екземпляр на това приложение и 2) това означава, че приложението вече няма достъп до нито един от кеш файловете си, което води ние към стъпка 2: Изчистване на кеша.

Изтрий кеш-памет

След като приложението е убито, следващата стъпка е да изтриете данните в кеш директория. Когато приложението се нуждае от временен файл, предварително обработен файл или когато иска да запази локално копие на файл, който е изтеглен от интернет, то ще бъде поставено в директорията за кеш на приложението. Всяко приложение има своя собствена директория, в която може да поставя работещи файлове.

Идеята е следната. Ако приложение изтегли файлове или данни от Интернет, това би било загуба на честотна лента плюс загуба на време за изтегляне на същите файлове при всяко стартиране на приложението. Вместо това всички файлове, които се нуждаят от изтегляне от интернет, могат да бъдат изтеглени веднъж и след това да се съхранят в кеша. От време на време приложението може да провери дали тези временни копия са все още валидни и да опресни кеша, ако е необходимо.

Друг пример е, ако приложението трябва да обработи файл, може би да извърши някакво декодиране или дешифриране на някои данни. Вместо да извършва това декодиране или дешифриране всеки път, когато приложението се стартира, което би използвало много CPU цикли, приложението може да го направи веднъж и след това да запази резултата в кеша. Отново приложението може да провери валидността на обработения файл и да опресни кеша, ако е необходимо.

Причината това са временни файлове е, че приложението не трябва да разчита на тези файлове, които присъстват, тъй като Android може да ги изтрие, когато устройството е с ограничен обем на място. В тези случаи приложението просто просто изтегля данните отново или отново обработва файловете и създава нови в кеша си.

Приложенията могат също да съхраняват файлове по-трайно, като използвате указателя за данни на приложението. Това е различно от кеш директория и е предназначено за устойчиви файлове, собственост на приложението. Тъй като Android е в състояние да изтрива файлове в директорията кеш, без да уведомява приложението, също така е безопасно потребителите да изтрият тези файлове чрез бутона „Изчисти кеша“!

Това може да помогне за отстраняване на неправилно поведение на приложения, тъй като изчиства пула от временни файлове и принуждава приложението да ги пресъздаде и така дава на приложението нов вид. Това често може да отстрани проблема, тъй като грешката е била при обработката на временен или кеширан файл.

Странично предимство на изчистването на кеша е, че той освобождава пространството за съхранение. Така че, ако ви липсва вътрешна памет, изчистването на кешираните данни за всички приложения може да помогне.

Wrap-нагоре

След някои експерименти по време на бета версията на Android P, най-новата версия на Android на Google запазва същите бутони и функционалност за Force Stop и Clear Cache като предишните версии. Все още ще намерите и двете в менюто за настройки на приложенията.

Android 9.0 Pie обаче въвежда нещо ново - автоматично затваряне на неотговорни приложения. Това означава, че се надяваме, че няма да ви се налага да затваряте приложения, които вече не спират да отговарят, системата трябва да се справя автоматично с всичко. Като такива, потребителите няма да видят диалоговия прозорец „Приложението не отговаря“ (ANR), за да ги предупреждават за неотговарящо приложение, ако те използват Pie. Ако обаче по някаква причина приложението спре да реагира, потребителите на Pie трябва да изпробват принудително спиране и изчистване на кеша, за да убият приложението и след това да го рестартират.


Ако имате нужда от инструкции как да изчистите кеша на приложения, тогава има редица отлични ръководства за това как да изчистите данните от приложението и кеша в Android 6.0 Marshmallow и как да възстановите мястото за съхранение, като почистите кеша на устройството си с Android. Използването на Force Stop е много подобно, просто следвайте инструкциите в свързаните ръководства, но докоснете „Force Stop“, а не „Clear Cache“.

Какви са вашите преживявания с Force Stop и Clear Cache? Има ли приложения, които намирате, че използват много място за съхранение на кеширани файлове? Моля, уведомете ме в коментарите по-долу.

TCL пусна BlackBerry Key2 LE, по-евтино поемане на BlackBerry Key2.Новият телефон вижда понижаване в отделите за конски сили, батерия и камера.Най-новият телефон на TCL ще бъде наличен в световен маща...

BlackBerry KEY2 е следващият флагмански телефон на BlackBerry. Той включва някои впечатляващи нови функции, заедно с подобрения в сравнение с по-ранния BlackBerry KEYone. Нека разгледаме по-отблизо ня...

Свежи Публикации