Одним из главных преимуществ операционной системы Android является возможность установки широкого спектра игровых и офисных программ. Однако не всегда их функционирование выполняется гладко и без ошибок. В текущей статье рассмотрим, почему вылетают игры и приложения на Андроид, предоставим пути решения проблемы.
Причины вылетов
Перед тем как искать пути устранения вылетов, следует разобраться в причинах их возникновения. Существует два основных источника агрессивной выгрузки приложений – аппаратный и программный.
К аппаратным причинам относится следующее:
- Несовместимость компонентов мобильного устройства с требованиями игры или программы. Некоторые виды ПО созданы исключительно для работы с конкретными процессорами или видеоускорителями, а значит, они не будут нормально функционировать на несоответствующих телефонах и планшетах.
- Недостаток оперативной памяти. Система Андроид построена таким образом, что она сама контролирует наличие свободной оперативной памяти для нормальной работы активного процесса, закрывая все второстепенные. Однако порой ресурса оказывается настолько мало, что под агрессивную выгрузку функционирующих программ попадает та, которая в данный момент используется.
- Недостаточное количество встроенной памяти. Количество дискового пространства, которое занимает приложение, может меняться после обновления его компонентов. Если места недостаточно, то это приводит к нестабильной работе программ и вылетам.
Среди программных причин выделяется следующее:
ВЫЛЕТАЮТ ПРИЛОЖЕНИЯ НА ТЕЛЕФОНЕ ANDROID? БЫСТРОЕ РЕШЕНИЕ
- Недостаточная оптимизация. Плохо оптимизированные игры могут вылетать даже на высокопроизводительных мобильных устройствах.
- Несоответствие версии операционной системы. Приложения на Андроид вылетают из-за устаревшей версии ОС.
- Кэш игры распакован в неверную директорию памяти устройства. Подобная неприятность происходит, только если игра устанавливается из сторонних источников. При выполнении операции через Play Market папка расположения кэша выбирается автоматически.
- Повреждение установочного файла. Источник проблемы аналогичен предыдущему, только в данном случае решающую роль играет не полностью загруженный файл или его повреждение при переносе на телефон.
- Наличие вирусов, которые блокируют запуск программ или конфликтуют с их процессами. Проникнув на телефон, вредоносное ПО зачастую получает права администратора и может выполнять любые действа, в перечень которых входит закрытие приложений и блокировка их работы.
Будет полезным
Некоторая часть указанных выше проблем решается при помощи переустановки приложения через Play Market. Работа магазина настроена таким образом, что он не позволит установить программу, которая не подходит мобильному устройству: в процессе установки в автоматическом режиме происходит проверка на соответствие аппаратных компонентов и версии операционной системы.
Если в процессе появляется сообщение о прекращении инсталляции, значит, телефон не подходит по некоторым критериям и дальнейшие попытки исправить ситуацию окажутся безрезультатными. Другие варианты, когда вылетают приложения на Андроид, подлежат исправлению. Рассмотрим решение более подробно.
Устранение вылетов
Решение проблем с непредвиденным закрытием приложений также разделим на две категории для удобства их рассмотрения.
Аппаратные проблемы
Несоответствие аппаратных характеристик устройства решается только его заменой или приобретением более свежей модели.
Недостаток оперативной памяти может быть устранен удалением или принудительным закрытием неиспользуемых в данный момент приложений. Выполняется это в настройках телефона, раздел «Приложения». Современные телефоны и планшеты должны обладать как минимум 2 Гб оперативной памяти, если этот показатель ниже, то следует оставить только самый необходимый софт, чтобы добиться освобождения места.
Малое количество встроенной памяти устраняется установкой SD-карты или удалением ненужных файлов. Первый вариант потребует дальнейшего переноса данных программы на внешний накопитель.
Программные неполадки
Обратите внимание
Прежде чем приступать к решению проблемы программного характера, следует выполнить перезапуск мобильного устройства. Возможно, неполадка возникла из-за сбоя в ОС и исчезнет после ее перезапуска.
В отношении плохо оптимизированных приложений пользователь не может что-либо сделать. Единственным выходом станет ожидание новых обновлений, в которых разработчики исправят существующие недочеты.
Часто приложения и игры вылетают на Андроид четвертой версии и ниже, поскольку они являются устаревшими и не принимаются во внимание при разработке новых продуктов. Решение заключается в выполнении следующих шагов:
-
Проверка наличия обновлений через соответствующий раздел настроек телефона. Если таковые имеются, следует выполнить их загрузку и установку. Перед началом процедуры аккумулятор должен быть заряжен не менее чем на 30 %.
Установка игр с кэшем из сторонних источников требует определенных навыков. Поэтому одной из причин вылетов может стать неверное размещение дополнительных файлов. Узнать точное расположение, куда следует копировать кэш, можно на странице загрузки или выполнив поиск по Интернету, указав название компании-разработчика.
Важно знать
Зачастую необходимые файлы переносятся в папку «/Android/obb», но некоторые именитые фирмы используют другой путь, что приводит к неверной установке и вылетам.
Верным признаком неправильно скопированного кэша становится то, что игра запускается, но при попытке запустить процесс (войти на уровень) происходит вылет.
Еще одной причиной, почему на Андроиде вылетают приложения, становится неполная или некорректная загрузка файла в формате «.apk». Установочный пакет должен быть полностью и без ошибок загружен со стороннего сайта, а затем перемещен в память устройства для дальнейшей инсталляции в системе. Если на одном из этих этапов произошел сбой, например, разрыв соединения, то файл может незначительно повредиться, что в итоге приведет к вылетам.
Будет полезным
Решение заключается в повторной загрузке установочного пакета и его перемещении на устройство. Уже существующую на телефоне копию игры следует удалить.
Наличие на смартфоне вируса может привести к чрезмерной загруженности процессора и оперативной памяти, следствием чего становится вылет запущенного приложения. В этом случае необходимо установить антивирус и просканировать всю систему на наличие вредоносного ПО. Если антивирусы от разных разработчиков не могут справиться с проблемой, значит, вирус проник в прошивку. Выходом станет сброс настроек к заводским значениям или перепрошивка.
Источник: mobila.guru
Почему вылетает приложение Android Studio?
Вылетает приложение. Изначально у меня было уже два окна, помимо основного. Сделал третье, закодил всё по видео-уроку и исходникам с гит хаба. При тесте сборка была собрана, приложение запустилось, все предыдущие окна функционируют, а вот последнее созданное окно ,при нажатии открытия, крашит приложение полность.
Если нужно будет — скину ещё.
2021-06-04 11:14:50.932 30947-30947/com.example.diplomchik D/AndroidRuntime: Shutting down VM 2021-06-04 11:14:50.934 30947-30947/com.example.diplomchik E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.diplomchik, PID: 30947 java.lang.RuntimeException: Unable to start activity ComponentInfo: java.lang.NullPointerException: Attempt to invoke virtual method ‘void androidx.recyclerview.widget.RecyclerView.setLayoutManager(androidx.recyclerview.widget.RecyclerView$LayoutManager)’ on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3534) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3689) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:140) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:100) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2239) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:227) at android.app.ActivityThread.main(ActivityThread.java:7822) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1026) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘void androidx.recyclerview.widget.RecyclerView.setLayoutManager(androidx.recyclerview.widget.RecyclerView$LayoutManager)’ on a null object reference at com.example.diplomchik.screens.main.planer.onCreate(planer.java:38) at android.app.Activity.performCreate(Activity.java:7963) at android.app.Activity.performCreate(Activity.java:7952) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3505) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3689) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:140) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:100) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2239) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:227) at android.app.ActivityThread.main(ActivityThread.java:7822) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1026) 2021-06-04 11:14:50.972 30947-30947/com.example.diplomchik I/Process: Sending signal. PID: 30947 SIG: 9
- Вопрос задан более двух лет назад
- 1714 просмотров
Решения вопроса 1
Тут должна быть ваша реклама.
recyclerView = findViewById(R.id.list); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, RecyclerView.VERTICAL, false); recyclerView.setLayoutManager(linearLayoutManager);
Проверяйте смогли ли получить ожидаемый объект recyclerView, и только потом делайте работу. У вас ошибка о том что пытаетесь вызвать метод setLayoutManager у несуществующего объекта.
Ответ написан более двух лет назад
Нравится 4 Комментировать
Ответы на вопрос 1
Android developer
Логи прилагаю, сомневаюсь, что на скрине будет видно
Ответ написан более двух лет назад
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- Android
- +3 ещё
При запуске вылетает игра Unity Android. В движке всё хорошо. Что делать?
- 1 подписчик
- вчера
- 43 просмотра
Источник: qna.habr.com
Подскажите, почему вылетает приложение при эмуляции. Android Studio
У меня две активности: empty и Navigation Drawer Activity. На первой есть 4 кнопки (обычные button), одна из которых ведет на вторую активноть (new Intent и т. д.). Всё стандартное, исключая текст на кнопках (первая активность) и задний фон все на той же первой активности, при попытке запустить приложение на эмуляторе и реальном устройстве останавливает приложение. Может, кто-нибудь знает, почему?
Отслеживать
4,286 14 14 золотых знаков 42 42 серебряных знака 92 92 бронзовых знака
задан 9 мая 2017 в 0:58
Татьяна Кайнова Татьяна Кайнова
1 1 1 золотой знак 1 1 серебряный знак 2 2 бронзовых знака
Прикрепите логи. И код на котором возникает исключение
9 мая 2017 в 1:13
А объявлены ли активности в манифесте?
9 мая 2017 в 9:28
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Чтобы узнать причину, по которой приложение «unfortunately stopped», нужно посмотреть в логи. Увидеть их можно тут:
Нажимаете на «Android Monitor», выбираете свое устройство и процесс (при запуске приложения это зачастую делается автоматически)
и наблюдаете свой лог, в котором подробно будет описана «вся жизнь» вашего приложения. Можно также управлять отображаемой информацией и самому логгировать информацию:
Вы просили подсказать, почему ваше приложение вылетает — без логов и подробностей никто вам не сможет помочь. Увидев в логе ошибку, вы либо сами сможете исправить ее, либо дополнить свой вопрос, чтобы вам уже помогли эту ошибку исправить.
Источник: ru.stackoverflow.com