Xiaomi решила проблему вылетов приложений на смартфонах – официальная и неофициальная инструкции

app isnt responding Новости

Что такое доступная и свободная память

Вообще, операционной системе не выгодно держать большое количество памяти в качестве свободной, то есть в пуле «Free Memory». Почему? Все просто. Android представляет собой настолько большой механизм, что любую свободную память можно куда-нибудь «запихать».

Логика заключается в том, что в любой момент в будущем той или иной программе может потребоваться больше памяти и чтобы она не делала запрос в ядро, затрачивая время, ей выделяют «лишнюю» память, которая сейчас ей не нужна, но может пригодиться. Это и называется доступной памятью, которая хранится в пуле «Available Memory».

Почему на андроиде вылетают приложения?

Перед тем, как перейти к решению проблемы, нужно разобраться с её причинами. Стоит понимать, что они могут быть как программными, так и аппаратными. В первом случае постоянный вылет приложений связан с плохо оптимизированным ПО под конкретную модель смартфона. Во втором случае игры, скорее всего, сворачиваются по вине пользователя. Ниже представлены наиболее популярные причины:

  1. Несовместимость программы с операционной системы. Это может наблюдаться, когда человек пытается установить приложение, предназначенное для Андроид 7, на Android 4.
  2. Плохая оптимизация дополнения. Некоторые разработчики не заморачиваются над настройкой программы под все устройства. Обычно выпускается версия, подходящая для наиболее популярных телефонов. Также напротив подобной утилиты в Google Play можно увидеть надпись: «Не совместимо с вашим устройством».
  3. Повреждение apk-файла. Данная проблема наблюдается при загрузке ПО со сторонних сайтов. Во время сборки пакета могли произойти определённые ошибки, повлиявшие на дальнейшую работу программы.
  4. Не верно распакован кэш. Иногда при установке игр со сторонних сайтов требуется распаковать кэш в определённую папку. Большинство пользователей игнорируют данное требование, поэтому возникают ошибки в приложениях.
  5. Нехватка оперативной памяти. Современные игры довольно требовательны к производительности смартфонов. Рекомендуется внимательно читать отзывы к загружаемому софту и смотреть как он работает на разных устройствах.
  6. Наличие вирусов. Некоторые троянские программы могут конфликтовать с установленным на смартфоне ПО. Советуем ежемесячно сканировать устройство с помощью антивирусов.

Что такое озу в android и как влияет на вылеты

Стоит отметить, что операционная система Android построена на базе ядра Linux. Каждый раз, когда мы запускаем ту или иную программу (или игру) на нашем устройстве, создается специальный процесс этого приложения внутри ядра. Он необходим для того, чтобы определить, какое количество ресурсов будет «передано» запущенному приложению: сколько оперативной памяти нужно выделить, какая процессорная мощность требуется, какие сетевые запросы нужно сделать, операции I/O (что нужно записать в постоянную память или «достать» оттуда) и прочее.

Проще говоря, любое запущенное приложение – это созданный процесс в системе, который просит у Android определенное количество различных аппаратных ресурсов.

А что произойдет, если процесс потребует количество оперативной памяти, которое система не сможет ему предоставить? Ведь в случае с процессорной мощностью, если программе потребуется то или иное количество ресурсов CPU, она получит их в 100% случаев, так как ресурс процессора – это, условно говоря, бесконечная величина. Любая задача будет выполнена процессором, вопрос заключается только во времени.

Но количество оперативной памяти, как мы знаем, строго ограничено. В такие моменты и происходит «вылет» – программа потребовала столько памяти, сколько система не может ей предоставить, а значит дальнейшее выполнение этого процесса невозможно.

Если еще проще, то каждое нажатие на иконку приложения запускает его процесс, который обращается к ядру примерно с таким вопросом: “Мне нужно вот столько … ОЗУ, чтобы я хотя бы смог загрузиться и показать пользователю главное меню”. И впоследствии, если нужно больше ОЗУ, процесс снова обращается к ядру: “Мне нужно еще столько … памяти для загрузки этих файлов, этих и …”.

В зависимости от того, о каком приложении идет речь, требуется разное количество оперативной памяти под его нужды. Например, если мы запускаем какую-нибудь «тяжелую» и увесистую игру с 3D-графикой, то она будет требовать в разы больше этой самой памяти, чем какой-нибудь мессенджер или браузер.

Это происходит потому, что такие игры слишком нагружают процессор и графическое ядро. Каждый элемент в текстурах (машины, оружие и прочее) фактически должен где-то храниться в памяти для дальнейшей работы с ним. И хранится все это именно в оперативной памяти, которую используют приложения, запущенные в данный момент.

Благо в нашей системе есть специальные службы, которые занимаются очисткой оперативной памяти, то есть, ее освобождением. Когда мы закрываем программу, происходит «убийство» ее процесса – он просто выгружается из памяти и освобождает ту ее часть, которая ранее была занята.

Но у системы есть и другой пул, который имеет название «Available Memory», что в переводе – “Доступная память”. Казалось бы, одно и то же. В чем разница?

: xiaomi решила проблему вылетов приложений на смартфонах – официальная и неофициальная инструкции

Несколько дней назад произошёл глобальный сбой в одном из ключевых компонентов ОС Android, ставший причиной массовых проблем на смартфонах по всему миру. Назвать даже примерное количество пострадавших не представляется возможным. Давайте вспомним, как всё было. Утром 23 марта появились сообщения о нестабильной работе приложений на тысячах телефонах. Пользователи говорили о сбоях, когда многие программы вылетали тут же после запуска. Спустя несколько часов стало известно, что это сломался компонент Android System WebView, а уже через час Google выпустила обновление, залатав дыру.

Xiaomi решила проблему вылетов приложений на смартфонах – официальная и неофициальная инструкции

Как стало известно, среди пострадавших оказалось много владельцев смартфонов Xiaomi. Эксперты полагают, что дело в специфике самой оболочки MIUI, которая несмотря на значительные отличия во многом использует основные компоненты оригинальной Android. Что любопытно, пользователи продолжают сообщать об ошибке, хотя у других производителей она давно решена. Xiaomi разбирается в причинах, но это не значит, что нужно сидеть и ждать. 

Есть несколько вариантов решения проблемы:

Зайти в приложение Google Play Store, перейти в настройки, выбрать там команду «Мои приложения» и удалить компонент System WebView. Полностью удалить его не выйдет. Вместо этого вы откатите его до стабильного состояния (середина марта), что должно избавить вас от проблем. Также рекомендуется проделать такой же фокус с браузером Chrome, поскольку он ответственен за сбои. Это было официальное решение проблемы, но в некоторых случаях оно может не сработать. 

Если вы не можете зайти в Google Play Store, поскольку эта программа у вас также выбивает, придётся решать проблему радикально. Ниже есть две ссылки на файлы. Их нужно скачать и установить в принудительном порядке. Это новые версии программ, которые уже получили официальный патч Google. Вполне возможно, что на смартфонах Xiaomi присутствует ещё какая-то неизвестная ошибка в ПО, но после ручной установки она не появляется. 

Google play

Сначала переходим в настройки устройства, где заходим в раздел с установленными программами. Здесь нужно найти две утилиты: Google Play Маркет и Сервисы Google Play. Теперь в окне с программой находим кнопку «Очистить» и кликаем на неё. Должно открыться небольшое меню, где требуется выбрать «Очистить всё». После этого нужно перезагрузить устройство.

Видео-инструкция

Таким образом, прочитав данную статью вы будет знать, что нужно делать при вылете приложений на телефоне. Наиболее популярной причиной ошибки является не очищенный кэш и заполненная память устройства!

Встроенные методы высвобождения озу

По причине, которая уже описана выше, ядро Android использует настолько большое количество памяти, насколько только может. И пока доступной памяти у системы хватает, она может «разбрасываться» ею совершенно спокойно. Но обязательно приходит время, когда ресурсов уже недостаточно даже для запуска программы. Откуда тогда взять память? Есть несколько вариантов:

  1. Прекратить работу какого-либо процесса (приложения).
  2. Применить технологию ZRAM.
  3. Использовать файл подкачки – SWAP (память, которая «преобразуется» из постоянного хранилища, например, на карте памяти и используется как оперативная).

О файле подкачки, кстати, мы еще будем говорить далее, когда дойдет дело до рекомендаций.

Как исправить постоянные вылеты из определённых приложений

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

Как удалить android system webview

Вот как это делается:

  • Запустите Google Play и откройте контекстное меню;
  • Отсюда перейдите в раздел «Мои приложения и игры»;
  • Откройте вкладку «Установленные» и пролистайте вниз;
  • Найдите Android System WebView и нажмите «Обновить»;
  • Если кнопки обновления нет, перейдите на его страницу и удалите;
  • Если вы удалите WebView, не забудьте перезагрузить смартфон.

Как продлить автономность Android, отключив только одну функцию

После выполнения этих действий вы получите абсолютно рабочий компонент Android System WebView, который сможет правильно обеспечивать загрузку веб-элементов и правильную работу приложений, которые на него полагаются. В удалении – если обновление вам недоступно – нет ничего страшного. Компонент переустановится автоматически, запросив на серверах Google самую актуальную сборку с исправлениями.

Практика показывает, что описанная проблема, провоцирующая вылеты приложений, которые используют компонент Android System WebView, распространяется на широкий спектр устройств, независимо от производителя и версии Android, на базе которой они работают.

Отключение синхронизации

Первый и самый безопасный способ экономии оперативной памяти – отключение синхронизации установленных приложений. Это касается почты, различных учетных записей и прочего. Сделать это можно следующим образом:

Шаг 1. Открываем системные настройки.

Шаг 2. Находим пункт «Пользователи и аккаунты» (может иметь название «Учетные записи» или «Аккаунты»). В зависимости от производителя устройства и оболочки названия у пунктов могут сильно отличаться. Ищем что-то похожее.

Шаг 3. Находим настройку «Автосинхронизация данных» (или опять же, похожее) и отключаем ее.

Теперь, это ненамного, но все же сократит расход ОЗУ и даже поможет экономить заряд аккумулятора, так как теперь в системе будет меньше действий и «жизни», которая требует ресурсов процессора и оперативной памяти.

Ручные методы освобождения озу

На самом деле то большое количество программ для очистки ОЗУ, которое есть в магазине Google Play практически бесполезно. И это несмотря на то, как порой усердно разработчики этих утилит пытаются убедить нас в том, что именно их утилита решит все наши проблемы с нехваткой оперативки.

Как мы уже говорили ранее, Android изначально имеет несколько способов управления оперативной памятью, которые существовали много лет назад. А сейчас, новые сборки Android 10 и 11 могут похвастаться все более совершенными механизмами. Система сама ведет учет памяти и расставляет приоритеты в том, какие программы нужно закрыть для выделения ресурсов. Поэтому установка какого-либо софта, очищающего ОЗУ – бесполезная инициатива.

Мы же рассмотрим более реальные, хоть и менее эффективные способы не высвободить память (за нас прекрасно это сделает ядро), а сэкономить ее. Особенно актуальны методы будут для устройств с малым количеством ОЗУ.

Смена приоритетов у приложений

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

Чтобы установить приоритеты, делаем следующее:

Шаг 1. Переходим в настройки устройства.

Шаг 2. Ищем пункт «О системе» или «Система», или «О телефоне» и открываем его.

Шаг 3. Находим строку «Номер сборки» и кликаем по ней 5-10 раз подряд, пока не появится всплывающее окно «Не нужно, вы уже разработчик».

Шаг 4. Возвращаемся на шаг назад и в этом же разделе находим появившееся меню «Для разработчиков». Включаем его.

Шаг 5. Находим строку «Приложения в режиме ожидания» и кликаем на нее.

Шаг 6. В списке находим программы, которыми пользуемся редко и выставляем им одно из двух значений (лучше – второе): «FREQUENT», «RARE».

Что обозначают эти приоритеты? Каждой программе можно присвоить всего 4 значения. Эту систему можно представить как 4 урны, каждая из которых имеет свои особенности. Урна «ACTIVE» означает, что приложения из данного сегмента не будут никак ограничиваться и могут потреблять сколь угодно ресурсов. Далее по убыванию «свободы» идут урны «WORKING_SET», «FREQUENT» и «RARE».

Android самостоятельно анализирует наши действия и распределяет со временем утилиты в ту или иную урну (категорию), но мы можем делать это и вручную. Главное определить программы, которые мы хотим ограничить.

Стоит отметить, что процесс разблокировки меню «Для разработчиков» может отличаться в зависимости от установленной версии Android и оболочки (MIUI, One OS, AOSP и пр.).

Создаем файл подкачки swap

Данный способ позволит не столько сэкономить память, сколько расширить ее. Далее мы попробуем создать SWAP-файл, который будет использоваться системой. Фактически это позволит расширить объем оперативной памяти за счет внешнего хранилища – SD-card.

Обратите внимание: для создания SWAP-файла устройство должно иметь root-доступ, установленный BusyBox, а ядро должно поддерживать технологию swappiness. Инструкция ниже предполагает успешное выполнение вашим девайсом всех трех условий.

Итак, чтобы создать файл подкачки для расширения ОЗУ, делаем следующее:

Шаг 1. Убеждаемся, что количество памяти на SD-card, которое мы хотим выделить под ОЗУ, свободно.

Шаг 2. Проверяем, совместим ли необходимый нам софт с устройством. Для этого скачиваем эту утилиту из официального магазина Google Play. Устанавливаем и запускаем, предоставляя root-доступ.

Шаг 3. Запускаем тест нажатием клавиши «Start Ramexpander Test Here». Выбираем место, где будет создан файл для тестирования и ждем некоторое время.

Xiaomi решила проблему вылетов приложений на смартфонах – официальная и неофициальная инструкции

Шаг 4. После завершения теста мы увидим надпись, которая и покажет, поддерживает ли устройство создание файла подкачки.

Шаг 5. Если в 4 пункте все «ОК», то устанавливаем непосредственно программу для создания SWAP-файла с этого форума (нужно зарегистрироваться). Запускаем и предоставляем root.

Шаг 6. Нажимаем на кнопку «Оптимальное значение», чтобы программа определила нужный для системы размер SWAP-файла.

Шаг 7. Далее будет предложено выбрать раздел для файла подкачки. Выбираем карту памяти и оптимальное значение.

Xiaomi решила проблему вылетов приложений на смартфонах – официальная и неофициальная инструкции

Шаг 8. Ждем некоторое время и убеждаемся в успешности процесса после появления соответствующего окошка. Об успехе также будет сигнализировать уведомление.

Xiaomi решила проблему вылетов приложений на смартфонах – официальная и неофициальная инструкции

Важно! Получение прав суперпользователя (root-доступа) на большинстве современных устройств может обернуться их поломкой и полной потерей работоспособности. Процесс не будет описан в статье, так как способы получения отличаются, в зависимости от производителя и других нюансов. Более подробную информацию о получении root можно узнать на форуме 4PDA.

Стоковая камера

Открываем настройки смартфона и заходим в список со всеми программами. Используя поисковую строку находим утилиты: камера и галерея. Теперь нажимаем кнопку «Очистить», где выбираем «Кэш».

Универсальная инструкция

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

Для обновления системы выполним следующее:

  1. Заходим в настройки.
  2. Переходим в раздел «О телефоне» либо «Об устройстве».
  3. Здесь выбираем вкладку «Обновление системы».
  4. Теперь кликаем кнопку «Проверить обновления» и при их наличии нажимаем «Загрузить».

Бывают случаи, когда с версией Android и характеристиками телефона всё в порядке, но вылеты при запуске продолжаются. Здесь можно применить одну из следующих рекомендаций:

  • Перезагрузите смартфон. Простой и достаточно эффективный совет, позволяющий очистить оперативную память и ослабить нагрузку на процессор. Часто после данного действия ошибка исчезает.
  • Закройте программы, работающие в фоновом режиме. Делается это простым нажатием кнопки «Home», где отображается весь открытый софт. Проведите пальцем вправо, или нажмите кнопку, отвечающую за закрытие всех приложений.
  • Проверьте телефон на вирусы. Можно воспользоваться как встроенным, так и загруженным отдельно антивирусом. В меню сервиса выберите «Сканировать» и дождитесь окончания проверки. При обнаружении вирусов удалите их.

Также советуем периодически очищать данные приложений. Большое количество кэша замедляет работу устройства и может привести к сбоям в системе.

Делается это просто:

  1. Зайдите в настройки.
  2. Перейдите в раздел со всеми программами.
  3. Найдите нужное приложение.
  4. Кликните кнопку «Очистить», где выберите «Кэш».

Следуя данным советам можно избавиться от постоянных вылетов приложений.

Установка greenify

Да, выше мы уже оспаривали эффективность различных приложений, заточенных под освобождение оперативной памяти, повышение быстродействия системы и улучшения многозадачности буквально в 2 щелчка. Но стоит обозначить сразу, что программа Greenify – не примитивный таск-киллер, который обещает нам гигабайты свободной ОЗУ и потрясающую многозадачность.

Теория, о которой мы говорили в самом начале статьи, немного помогла нам понять суть всего механизма взаимодействия ОЗУ и Android. Исходя из этого можно сделать вывод: чтобы свободной памяти было больше, нужно ограничить количество приложений, которые могут попытаться получить к ней доступ.

Мы не будем устраивать «геноцид» запущенных программ и убивать процессы без суда и следствия, что нам так предлагают различные менеджеры задач. Мы пойдем другим способом – предотвратим фоновую активность. Сделать это можно с помощью программы Greenify.

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

Шаг 1. Скачиваем утилиту из официального магазина Google Play.

Шаг 2. Запускаем и следуем действиям на скриншотах – пропускаем настройку умной гибернации и выбираем режим работы ROOT.

Шаг 3. Переходим в раздел настроек (нажимаем на «три точки» в верхнем правом углу) и включаем: «Агрессивный Doze», «Отслеживание и отсечение пробуждений» и «Всегда игнор. отсутствие фона».

Шаг 4. Добавляем нажатием на кнопку « » приложения, активность которых хотим ограничить.

И все же, даже этот вариант остается под вопросом, так как то количество памяти, которое в теории освобождает (не дает занять) нам Greenify практически в 100% объеме «компенсируется» сервисами самого приложения, которые нужны ему для работы.

Яндекс браузер и навигатор

Наиболее действенным решением будет откат к предыдущим версиям приложений. Во время переустановки необходимо вручную очистить весь кэш и данные программ. Также требуется зайти в директорию телефона и удалить все папки Яндекса. Рекомендуется ко всему этому очистить память и кэш на смартфоне.

Заключение

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

Оцените статью
Huawei Devices
Добавить комментарий