Что делать, если на Андроид вылетают приложения
Довольно часто пользователи сталкиваются с ситуацией, когда открытая игра или приложение сворачивается, и на экране появляется оповещение об ошибке. Особенно неприятно становится, если не успеть сохраниться при прохождении уровня. После этого сразу складывается плохое мнение о программе и желание от неё избавиться. Но давайте лучше разберёмся, что делать, если на Андроид вылетают приложения.
Почему на Андроиде вылетают приложения?
Перед тем, как перейти к решению проблемы, нужно разобраться с её причинами. Стоит понимать, что они могут быть как программными, так и аппаратными. В первом случае постоянный вылет приложений связан с плохо оптимизированным ПО под конкретную модель смартфона. Во втором случае игры, скорее всего, сворачиваются по вине пользователя. Ниже представлены наиболее популярные причины:
РЕШЕНО: Удаление обновления для Android WebView
Если у вас без явной причины стали зависать или вылетать приложения на Android — то скорее всего проблема в обновлении системного компонента Android System WebView. Такая проблема наблюдается во всем мире, на любых устройствах: Xiaomi, Realme, OPPO, Huawei, Honor, Vivo, Samsung, OnePlus и так далее.
Чтобы исправить эту проблему нужно:
Если на вашем смартфоне нет возможности удалить последнее обновление — то попробуйте удалить браузер Google Chrome, и после заново его установить.
Универсальная инструкция
Первым делом при автоматическом закрытии приложений нужно ознакомиться с системными требованиями конкретной программы. Если характеристики смартфона серьёзно отличаются от заявленных параметров, то рекомендуется подумать о покупке более нового устройства. Также требуется проверить поддерживаемую версию Android. Сейчас большое количество софта разрабатывается под Андроид 7, 8 и 9.
Для обновления системы выполним следующее:
Бывают случаи, когда с версией Android и характеристиками телефона всё в порядке, но вылеты при запуске продолжаются. Здесь можно применить одну из следующих рекомендаций:
Также советуем периодически очищать данные приложений. Большое количество кэша замедляет работу устройства и может привести к сбоям в системе.
Делается это просто:
Следуя данным советам можно избавиться от постоянных вылетов приложений.
Как исправить постоянные вылеты из определённых приложений
Встречаются ситуации, когда вылетают конкретные программы, например, настройки или музыка. Согласитесь, что будет слишком долго следовать общим рекомендациям, дабы исправить ошибку в одной утилите. Ниже представлены более конкретные советы для самых популярных приложений.
Социальные сети и мессенджеры
Первым делом нужно освободить оперативную память. Для этого требуется закрыть все фоновые программы, либо вовсе удалить некоторые из них. Если ошибки начались после установки обновления, то требуется сделать откат к прежней версии. Скачать в Google Play её к сожалению, нельзя, поэтому придётся прибегнуть к сторонним сайтам. Но лучше дождитесь, когда разработчики оптимизируют софт под ваше устройство. Наиболее часто с вылетами сталкиваются приложения: Инстаграм, Вконтакте, Viber, Snapchat.
Яндекс браузер и навигатор
Наиболее действенным решением будет откат к предыдущим версиям приложений. Во время переустановки необходимо вручную очистить весь кэш и данные программ. Также требуется зайти в директорию телефона и удалить все папки Яндекса. Рекомендуется ко всему этому очистить память и кэш на смартфоне.
Google Play
Сначала переходим в настройки устройства, где заходим в раздел с установленными программами. Здесь нужно найти две утилиты: Google Play Маркет и Сервисы Google Play. Теперь в окне с программой находим кнопку «Очистить» и кликаем на неё. Должно открыться небольшое меню, где требуется выбрать «Очистить всё». После этого нужно перезагрузить устройство.
YouTube
Для начала нужно очистить кэш программы. Если это не помогло, то можно сделать откат к прежней версии. Для этого перейдите в настройки телефона, где зайдите на страницу с нужно программой. Затем нажмите на «три точки» или кнопку «Опции». Здесь выберите «Очистить данные».
Обратите внимание, что очистку кэша рекомендуется проводить в качестве профилактики. Подобные действия не позволят приложениям тормозить, а сделают их работу более плавной.
Стоковая камера
Открываем настройки смартфона и заходим в список со всеми программами. Используя поисковую строку находим утилиты: камера и галерея. Теперь нажимаем кнопку «Очистить», где выбираем «Кэш».
Видео-инструкция
Таким образом, прочитав данную статью вы будет знать, что нужно делать при вылете приложений на телефоне. Наиболее популярной причиной ошибки является не очищенный кэш и заполненная память устройства!
Как исправить вылеты приложений на Android
Разбираемся в механизме взаимодействия с памятью и в причинах вылетов приложений на Android. Лечим эту проблему множеством способов.
Основная причина вылетов в большинстве случаев — нехватка ОЗУ. Разберемся с тем, как работает оперативная память на устройствах Android и попробуем устранить вылеты. Также рассмотрим прочие нюансы, которые могут провоцировать данную проблему.
Словом «вылет» принято называть вынужденное прекращение работы запущенной программы (или игры) на смартфоне/планшете под управлением операционной системы Android. В подавляющем большинстве случаев это связано с нехваткой оперативной памяти (также, ОЗУ или RAM), в которую и загружаются все данные приложений, запущенных на устройстве в данный момент времени. Когда оперативной памяти не хватает для записи новой информации, система Android в принудительном порядке закрывает запущенные процессы для ее освобождения.
Чтобы более четко разобраться в причине вылетов программ на Android, нужно понять то, как работает это все изнутри. Для начала рассмотрим то, как система управляет оперативной памятью и почему иногда ее не хватает. Это также поможет нам ответить на вопрос, как исправить вылеты.
Что такое ОЗУ в Android и как влияет на вылеты
Стоит отметить, что операционная система Android построена на базе ядра Linux. Каждый раз, когда мы запускаем ту или иную программу (или игру) на нашем устройстве, создается специальный процесс этого приложения внутри ядра. Он необходим для того, чтобы определить, какое количество ресурсов будет «передано» запущенному приложению: сколько оперативной памяти нужно выделить, какая процессорная мощность требуется, какие сетевые запросы нужно сделать, операции I/O (что нужно записать в постоянную память или «достать» оттуда) и прочее.
Проще говоря, любое запущенное приложение – это созданный процесс в системе, который просит у Android определенное количество различных аппаратных ресурсов.
А что произойдет, если процесс потребует количество оперативной памяти, которое система не сможет ему предоставить? Ведь в случае с процессорной мощностью, если программе потребуется то или иное количество ресурсов CPU, она получит их в 100% случаев, так как ресурс процессора – это, условно говоря, бесконечная величина. Любая задача будет выполнена процессором, вопрос заключается только во времени.
Но количество оперативной памяти, как мы знаем, строго ограничено. В такие моменты и происходит «вылет» – программа потребовала столько памяти, сколько система не может ей предоставить, а значит дальнейшее выполнение этого процесса невозможно.
Если еще проще, то каждое нажатие на иконку приложения запускает его процесс, который обращается к ядру примерно с таким вопросом: “Мне нужно вот столько … ОЗУ, чтобы я хотя бы смог загрузиться и показать пользователю главное меню”. И впоследствии, если нужно больше ОЗУ, процесс снова обращается к ядру: “Мне нужно еще столько … памяти для загрузки этих файлов, этих и …”.
Благо в нашей системе есть специальные службы, которые занимаются очисткой оперативной памяти, то есть, ее освобождением. Когда мы закрываем программу, происходит «убийство» ее процесса – он просто выгружается из памяти и освобождает ту ее часть, которая ранее была занята. Освободившаяся память попадает в так называемый пул «Free Memory», откуда ядро и будет черпать заветные мегабайты для других запускаемых приложений. В переводе это означает “Свободная память”.
Но у системы есть и другой пул, который имеет название «Available Memory», что в переводе – “Доступная память”. Казалось бы, одно и то же. В чем разница?
Что такое доступная и свободная память
Вообще, операционной системе не выгодно держать большое количество памяти в качестве свободной, то есть в пуле «Free Memory». Почему? Все просто. Android представляет собой настолько большой механизм, что любую свободную память можно куда-нибудь «запихать». Например, отдать системному ядру на выполнение каких-либо жизненно необходимых для работы устройства задач или отдать в распоряжение программам, которые уже запущены.
Логика заключается в том, что в любой момент в будущем той или иной программе может потребоваться больше памяти и чтобы она не делала запрос в ядро, затрачивая время, ей выделяют «лишнюю» память, которая сейчас ей не нужна, но может пригодиться. Это и называется доступной памятью, которая хранится в пуле «Available Memory». В любой момент она может перестать играть роль «спасательного круга» или запасного варианта, будучи задействованной напрямую.
Встроенные методы высвобождения ОЗУ
По причине, которая уже описана выше, ядро Android использует настолько большое количество памяти, насколько только может. И пока доступной памяти у системы хватает, она может «разбрасываться» ею совершенно спокойно. Но обязательно приходит время, когда ресурсов уже недостаточно даже для запуска программы. Откуда тогда взять память? Есть несколько вариантов:
О файле подкачки, кстати, мы еще будем говорить далее, когда дойдет дело до рекомендаций.
Первый вариант означает то, что ядро просто «убивает» процесс программы, которая была запущена ранее, чтобы освободить место в ОЗУ под данные для новой программы. Например, мы запустили 5 приложений в таком порядке (важно запомнить): WhatsApp, Viber, Facebook, Gmail, Subway Surfers и хотим открыть YouTube, но ресурсов больше нет. Что произойдет? Система посмотрит на процессы, которые уже запущены и завершит работу WhatsApp, так как он запускался раньше всех (использовался нами давно, в сравнении с Gmail и остальными). Причем ядру абсолютно безразлично то, нужен ли нам еще WhatsApp или нет. Такова цена вопроса.
Второй вариант с ZRAM более щадящий. Суть заключается в том, что для выделения определенного объема памяти под процесс ядро обращается к той части памяти, которая уже занята и сжимает ее, создавая что-то наподобие архива. Далее этот архив помещается во внутреннюю память (на жесткий диск) и хранится там до тех пор, пока эти данные не понадобятся снова. Если рассмотреть ситуацию с 5 приложениями выше по аналогии, то произойдет что-то вроде этого:
Таким образом память высвобождается под новое приложение. Но, чтобы получить доступ к «WhatsApp» вновь, системе уже нужно считать записанный в накопителе архив и разархивировать его. Все это требует времени (в эти моменты, кстати, и случаются различные подтормаживания системы при переключении между программами), поэтому ZRAM тоже не самая идеальная технология.
Ручные методы освобождения ОЗУ
На самом деле то большое количество программ для очистки ОЗУ, которое есть в магазине Google Play практически бесполезно. И это несмотря на то, как порой усердно разработчики этих утилит пытаются убедить нас в том, что именно их утилита решит все наши проблемы с нехваткой оперативки. Данный софт не то чтобы сложно назвать эффективным, его даже тяжело назвать безопасным для системы, так как появляются вопросы лишь о его вреде.
Как мы уже говорили ранее, Android изначально имеет несколько способов управления оперативной памятью, которые существовали много лет назад. А сейчас, новые сборки Android 10 и 11 могут похвастаться все более совершенными механизмами. Система сама ведет учет памяти и расставляет приоритеты в том, какие программы нужно закрыть для выделения ресурсов. Поэтому установка какого-либо софта, очищающего ОЗУ – бесполезная инициатива.
Мы же рассмотрим более реальные, хоть и менее эффективные способы не высвободить память (за нас прекрасно это сделает ядро), а сэкономить ее. Особенно актуальны методы будут для устройств с малым количеством ОЗУ.
Отключение синхронизации
Первый и самый безопасный способ экономии оперативной памяти – отключение синхронизации установленных приложений. Это касается почты, различных учетных записей и прочего. Сделать это можно следующим образом:
Шаг 1. Открываем системные настройки.
Шаг 2. Находим пункт «Пользователи и аккаунты» (может иметь название «Учетные записи» или «Аккаунты»). В зависимости от производителя устройства и оболочки названия у пунктов могут сильно отличаться. Ищем что-то похожее.
Шаг 3. Находим настройку «Автосинхронизация данных» (или опять же, похожее) и отключаем ее.
Теперь, это ненамного, но все же сократит расход ОЗУ и даже поможет экономить заряд аккумулятора, так как теперь в системе будет меньше действий и «жизни», которая требует ресурсов процессора и оперативной памяти.
Смена приоритетов у приложений
В современных версиях Android есть опция, которая позволяет нам задать каждому установленному в системе приложению приоритет выполнения. Например, некоторым мы можем вручную ограничить фоновую активность и, соответственно, количество ресурсов, которое будет им выделяться. А другим можно, наоборот, выставить определенный статус и они смогут спокойно и свободно «гулять» по системе, запрашивая нужное количество памяти, ресурсов процессора и прочее.
Чтобы установить приоритеты, делаем следующее:
Шаг 1. Переходим в настройки устройства.
Шаг 2. Ищем пункт «О системе» или «Система», или «О телефоне» и открываем его.
Шаг 3. Находим строку «Номер сборки» и кликаем по ней 5-10 раз подряд, пока не появится всплывающее окно «Не нужно, вы уже разработчик».
Шаг 4. Возвращаемся на шаг назад и в этом же разделе находим появившееся меню «Для разработчиков». Включаем его.
Шаг 5. Находим строку «Приложения в режиме ожидания» и кликаем на нее.
Шаг 6. В списке находим программы, которыми пользуемся редко и выставляем им одно из двух значений (лучше – второе): «FREQUENT», «RARE».
Что обозначают эти приоритеты? Каждой программе можно присвоить всего 4 значения. Эту систему можно представить как 4 урны, каждая из которых имеет свои особенности. Урна «ACTIVE» означает, что приложения из данного сегмента не будут никак ограничиваться и могут потреблять сколь угодно ресурсов. Далее по убыванию «свободы» идут урны «WORKING_SET», «FREQUENT» и «RARE».
Android самостоятельно анализирует наши действия и распределяет со временем утилиты в ту или иную урну (категорию), но мы можем делать это и вручную. Главное определить программы, которые мы хотим ограничить.
Стоит отметить, что процесс разблокировки меню «Для разработчиков» может отличаться в зависимости от установленной версии Android и оболочки (MIUI, One OS, AOSP и пр.).
Установка Greenify
Да, выше мы уже оспаривали эффективность различных приложений, заточенных под освобождение оперативной памяти, повышение быстродействия системы и улучшения многозадачности буквально в 2 щелчка. Но стоит обозначить сразу, что программа Greenify – не примитивный таск-киллер, который обещает нам гигабайты свободной ОЗУ и потрясающую многозадачность.
Теория, о которой мы говорили в самом начале статьи, немного помогла нам понять суть всего механизма взаимодействия ОЗУ и Android. Исходя из этого можно сделать вывод: чтобы свободной памяти было больше, нужно ограничить количество приложений, которые могут попытаться получить к ней доступ. Мы не будем устраивать «геноцид» запущенных программ и убивать процессы без суда и следствия, что нам так предлагают различные менеджеры задач. Мы пойдем другим способом – предотвратим фоновую активность. Сделать это можно с помощью программы Greenify.
Сама утилита может работать практически на любых устройствах, но чтобы она выполняла нашу задачу – работала в фоне и ограничивала активность других приложений, нужен root-доступ.
Шаг 1. Скачиваем утилиту из официального магазина Google Play.
Шаг 2. Запускаем и следуем действиям на скриншотах – пропускаем настройку умной гибернации и выбираем режим работы ROOT.
Шаг 3. Переходим в раздел настроек (нажимаем на «три точки» в верхнем правом углу) и включаем: «Агрессивный Doze», «Отслеживание и отсечение пробуждений» и «Всегда игнор. отсутствие фона».
Шаг 4. Добавляем нажатием на кнопку «+» приложения, активность которых хотим ограничить.
И все же, даже этот вариант остается под вопросом, так как то количество памяти, которое в теории освобождает (не дает занять) нам Greenify практически в 100% объеме «компенсируется» сервисами самого приложения, которые нужны ему для работы. Однако попробовать однозначно стоит. Особенно тем, кто имеет на устройстве root-права и, что еще лучше, установленный Xposed Framework.
Создаем файл подкачки SWAP
Данный способ позволит не столько сэкономить память, сколько расширить ее. Далее мы попробуем создать SWAP-файл, который будет использоваться системой. Фактически это позволит расширить объем оперативной памяти за счет внешнего хранилища – SD-card.
Обратите внимание: для создания SWAP-файла устройство должно иметь root-доступ, установленный BusyBox, а ядро должно поддерживать технологию swappiness. Инструкция ниже предполагает успешное выполнение вашим девайсом всех трех условий.
Итак, чтобы создать файл подкачки для расширения ОЗУ, делаем следующее:
Шаг 1. Убеждаемся, что количество памяти на SD-card, которое мы хотим выделить под ОЗУ, свободно.
Шаг 2. Проверяем, совместим ли необходимый нам софт с устройством. Для этого скачиваем эту утилиту из официального магазина Google Play. Устанавливаем и запускаем, предоставляя root-доступ.
Шаг 3. Запускаем тест нажатием клавиши «Start Ramexpander Test Here». Выбираем место, где будет создан файл для тестирования и ждем некоторое время.
Шаг 4. После завершения теста мы увидим надпись, которая и покажет, поддерживает ли устройство создание файла подкачки.
Шаг 5. Если в 4 пункте все «ОК», то устанавливаем непосредственно программу для создания SWAP-файла с этого форума (нужно зарегистрироваться). Запускаем и предоставляем root.
Шаг 6. Нажимаем на кнопку «Оптимальное значение», чтобы программа определила нужный для системы размер SWAP-файла.
Шаг 7. Далее будет предложено выбрать раздел для файла подкачки. Выбираем карту памяти и оптимальное значение.
Шаг 8. Ждем некоторое время и убеждаемся в успешности процесса после появления соответствующего окошка. Об успехе также будет сигнализировать уведомление.
Важно! Получение прав суперпользователя (root-доступа) на большинстве современных устройств может обернуться их поломкой и полной потерей работоспособности. Процесс не будет описан в статье, так как способы получения отличаются, в зависимости от производителя и других нюансов. Более подробную информацию о получении root можно узнать на форуме 4PDA.
Прочие причины вылетов
К другой причине вылетов приложений можно отнести различные программные ошибки. Часто бывает так, что после обновления прошивки или перехода на более современную версию Android появляются различные баги и, как следствие, проблемы с определенными программами, в том числе и вылеты.
Решается здесь все не так просто, как может показаться, так как проблема находится не в нашей «зоне видимости». Все, что мы можем сделать, как рядовой пользователь — переустановить программу или ждать новых обновлений от разработчика. Поэтому, если причина вылета того или иного приложения не связана с количеством свободной оперативной памяти, можно попробовать просто переустановить его. Также может помочь обновление прошивки до последней версии.
Заключение
В данной статье мы постарались немного разобраться в довольно сложном и большом механизме того, как работает с оперативной памятью система Android. А несколько описанных выше способов помогут поддерживать количество доступной памяти на более высоком уровне, чем это было ранее.
В Android по всему миру начали «вылетать» приложения. Есть решение
(Обновлено 11:20) Google сообщила, что исправила ошибку в обновлении компонентов, которые приводили к закрытию приложений на Android. Для этого нужно установить из Google Play актуальные версии Android System WebView и браузера Chrome.
Пользователи Android жалуются на вылеты, сбои и закрытие приложений без причины — непонятно, у кого конкретно они вылетают и при каких обстоятельствах, но проблема очень массовая. Google уже обратила внимание на происходящее и сообщила, что проблема заключается в обновлении приложения-компонента WebView в системе, которое приводит к сбоям программ.
Если вы столкнулись с проблемой, что приложения на любом Android-смартфоне начали вылетать или закрываться без причины, то есть простой способ это исправить. Для этого нужно зайти в «Настройки» → «Приложения» → в меню с тремя точками включить отображения системных приложений → в поиске найти Android System WebView → нажать «Удалить обновления».
У некоторых пользователей отсутствует кнопка для удаления обновления WebView или это просто не помогает, в таком случае можно попробовать удалить и заново установить браузер Chrome.
Google уже работает над исправлением проблемы, чтобы быстро выпустить исправленное обновление для компонента WebView, об этом сообщает The Verge. Сколько на это уйдет времени — неизвестно.
Судя по жалобам в интернете, чаще всего вылетает приложение Gmail, мобильные игры и другие программы с подключением к интернету. Проблемы встречаются независимо от бренда и модели смартфона, версии Android и других параметров.