Припинення зупинки та очищення кешу пояснено

Автор: Laura McKinney
Дата Створення: 6 Lang L: none (month-011) 2021
Дата Оновлення: 1 Липня 2024
Anonim
Припинення зупинки та очищення кешу пояснено - Технології
Припинення зупинки та очищення кешу пояснено - Технології

Зміст


Якщо у вас є проблема з додатком на вашому смартфоні Android, можливо, ви прочитали, що вам слід зробити "Примусовий зупинку", а потім "Очистити кеш", щоб виправити це. І насправді це може бути саме тим, що вам потрібно зробити. Але чому це допомагає? Що робить "Force stop" і що таке кеш? Дозволь пояснити.

Примусовий стоп

В основі Android лежить ядро ​​Linux, це компонент, відповідальний за управління пам’яттю та процесами, а також цілу купу інших ресурсів. Щоразу, коли ви запускаєте додаток, ви фактично запускаєте процес Linux.

Процес - це логічний контейнер для програми (програми). Він запускається ядром і використовується як спосіб спільного використання системних ресурсів (включаючи пам'ять та час процесора) між усіма запущеними програмами. Кожен процес має ідентифікатор, відомий як PID (ідентифікатор процесу); пріоритет, наскільки це важливо; власний адресний простір, плюс пов’язані сторінки фізичної пам'яті; а також деякі відомості про стан: біг (або біг), сон, зупинка та зомбі.


Завдання ядра полягає в тому, щоб запланувати час процесора і розподілити пам'ять для процесу, щоб він міг працювати. Як це працює, ядро ​​надає фрагменти часу процесора кожному з запущених процесів. Якщо процес увімкнено (оскільки він чекає на зразок даних з мережі), він не отримує жодного часу процесора. Це жонглювання процесів триває на рівні мілісекунд, дуже швидко, і, як і кадри мультфільму, ви отримуєте вигляд плавності та декількох програм, що працюють одночасно.

Нарешті, коли програма закривається, ядро ​​очистить усі ресурси, які використовує додаток (наприклад, відкриті файли, виділена пам'ять тощо) і врешті видалить процес, створений для цього додатка.

Кожна програма може перебувати в одному з кількох різних станів: запущеному, призупиненому чи зупиненому. Вони відрізняються від станів процесів, визначених Linux, і являють собою "життєвий цикл діяльності", як визначено в Android. Google стверджує, що так, "коли користувач переходить через ваш додаток, виходить із нього та повертається до нього, випадки дії у вашому додатку переходять через різні стани їхнього життєвого циклу".


Цікавим для Android є те, що він ніколи не вбиває додаток безпосередньо. Натомість він вбиває процес, в якому відбувається діяльність, знищуючи не тільки діяльність, але й все інше, що працює в процесі. Це може зробити це тоді, коли йому потрібно звільнити оперативну пам’ять або користувач може вбити процес, використовуючи Force Stop в Менеджері програм.

Коли все працює безперебійно, додаток перейде з одного стану активності в інший і зрештою його знищить Android (після переходу до зупиненого стану) або просто зависне у фоновому режимі, поки користувач не виведе його на перший план знову. Однак якщо все почне йти не так, додаток може погано поводитися. Він може перестати реагувати на певні події, він може застрягнути в якомусь циклі або просто почати робити непередбачувані речі.

У таких випадках програму може знадобитися вимкнути та перезапустити. Ось для чого примусовий прийом, це в основному знищує процес Linux для програми та очищує безлад!

Причина, коли використовувати примусовий прийом рекомендується при спробі виправити недобросовісний додаток, це 1) це вбиває поточний запущений екземпляр цього додатка та 2) це означає, що додаток більше не матиме доступу до жодного з своїх кеш-файлів, що призводить нам крок 2: Очистити кеш.

Очистити кеш

Після вбивства програми наступним кроком є ​​видалення даних із каталогу кешу. Коли програмі потрібен тимчасовий файл, попередньо оброблений файл, або коли він хоче зберегти локальну копію файлу, завантаженого з Інтернету, він буде розміщений у кеш-програмі додатка. У кожного додатка є своя директорія, куди він може розміщувати робочі файли.

Ідея така. Якщо додаток завантажує файли або дані з Інтернету, то це буде марною пропускною здатністю плюс марною витратою часу на завантаження тих самих файлів кожного разу, коли програма починається. Натомість будь-які файли, які потребують завантаження з Інтернету, можна один раз завантажити та зберегти в кеш-пам'яті. Час від часу програма може перевіряти, чи тимчасові копії все ще дійсні, і оновити кеш, якщо потрібно.

Іншим прикладом може бути, якщо програмі потрібно обробити файл, можливо, виконати дешифрування чи розшифрування деяких даних. Замість того, щоб виконувати це розшифровку чи розшифровку щоразу, коли програма запускається, що використовує багато циклів процесора, програма може зробити це один раз, а потім зберегти результат у кеш-пам'яті. Знову ж таки, програма може перевірити дійсність обробленого файлу та оновити кеш, якщо потрібно.

Причина, що це тимчасові файли, полягає в тому, що додаток не повинен покладатися на наявність цих файлів, оскільки Android може видалити їх, коли на пристрої не вистачає місця. У цих випадках додаток просто знову завантажує дані або знову обробляє файли та створює нові у своєму кеші.

Додатки також можуть зберігати файли постійно, використовуючи каталог даних додатків. Це відрізняється від каталогу кеша і призначений для постійних файлів, що належать додатку. Оскільки Android може видаляти файли з каталогу кешу, не повідомляючи про це додаток, користувачі також можуть безпечно видаляти ці файли за допомогою кнопки «Очистити кеш»!

Це може допомогти виправити недоброзичливі програми, оскільки він очищає пул тимчасових файлів і змушує програму відтворити їх, і таким чином дає додатку новий початок. Це часто може вирішити проблему, оскільки помилка була в обробці тимчасового або кешованого файлу.

Побічною перевагою очищення кешу є те, що він звільняє місце для зберігання. Тож якщо у вас не вистачає внутрішньої пам’яті, очищення кешованих даних для всіх додатків може допомогти.

Підбивання

Після деяких експериментів під час бета-версії Android P, остання версія Android від Google зберігає ті самі кнопки та функціональність для примусового зупинки та очищення кешу, що і попередні версії. Ви все одно знайдете обидва в меню налаштувань додатків.

Хоча Android 9.0 Pie представляє щось нове - автоматичне закриття невідповідальних програм. Це означає, що вам, сподіваємось, не доведеться змушувати закривати програми, які більше не реагують, система повинна обробляти все автоматично. Таким чином, користувачі не побачать діалогового вікна "додаток не відповідає" (ANR), щоб попередити їх про невідповідний додаток, якщо вони мають Pie. Однак якщо програма чомусь перестає реагувати, користувачі Pie повинні все ж спробувати кнопки Примусово зупинити та очистити кеш, щоб вбити програму, а потім перезапустити її.


Якщо вам потрібні вказівки, як очистити кеш-пам’ятку додатків, то існує ряд чудових посібників щодо того, як очистити дані програми та кеш на Android 6.0 Marshmallow та як відновити місце для зберігання, очистивши кеш на пристрої Android. Використання примусової зупинки дуже схоже, просто дотримуйтесь інструкцій у пов'язаних посібниках, але торкніться “Примусової зупинки”, а не “Очистити кеш”.

Які ваші враження щодо примусової зупинки та очищення кешу? Чи є програми, які, як ви вважаєте, використовують багато місця для зберігання кешованих файлів? Будь ласка, повідомте мене в коментарях нижче.

Якщо ви вирішили використовувати традиційні навігаційні клавіші на своєму смартфоні, повернути веб-сторінку в Chrome для Android легко. Але як тоді йти вперед? Кнопка вперед фактично прихована в меню,...

Chrome O має репутацію стабільності та швидкої продуктивності, але нова помилка процесора, здається, непокоїть деяких користувачів. Але, як це не дивно, це здається, що задня голова лише тоді, коли ко...

Популярний