Почему мои игры иногда выходят на домашний экран?

8

У меня есть Sony Ericsson Xperia Ray.

Когда я впервые купил телефон, он поставлялся с 4 ГБ памяти microSD класса 2 без фирменного наименования. Я мог играть в игры без проблем, и это было довольно стабильно.

Тогда я купил дешевый 32 ГБ microSD без какого-либо класса. Я переместил свои файлы со старой карты в новую, скопировав их. Когда я играю в игры (в основном, игры большого размера), игры иногда неожиданно вырываются на домашний экран без какой-либо опции «принудительного закрытия».

Тогда я подумал, что это может быть из-за дешевого microSD, поэтому я купил новый Transcend 32 ГБ класса 10 microSDHC. Это достаточно быстро для HD-игр, и я доволен этим, но возникает та же проблема - игры иногда вылетают на домашний экран.

Это из-за моего места для хранения? Может быть, я установил слишком много вещей на нем? У меня 80 МБ свободного места. Может в этом причина?

Состояние моего телефона:

  • Внедренный
  • Другие модификации не применяются.
Иван
источник
1
Пожалуйста, ограничьте свой вопрос одним вопросом. Ваш запрос о голосовых вызовах должен быть отдельным вопросом.
Эль
Получите средство просмотра logcat с Android Market (достойный Catlog) и запустите его сразу после сбоя игры. Посмотрите, сможете ли вы найти фактическое сообщение об ошибке, связанной с падением.
Джулиан Фондрен
В этом случае может быть полезно узнать версию Android: когда речь заходит о средствах просмотра logcat, из-за изменений в правилах безопасности у них возникают проблемы с Jelly Bean, которые необходимо учитывать (если их не обновляли, они больше не были умеет читать логи). Также: сколько оперативной памяти имеет ваше устройство? Каковы условия ОЗУ при возникновении ошибки?
Иззи

Ответы:

5

Если ваше приложение переднего плана закрывается без предупреждения, подозреваемый не кто иной, как ядро. Обычно это происходит, когда ядру не хватает памяти. В этом случае ядро ​​восстанавливает память, убивая другие приложения, в противном случае устройство будет зависать. В такой ситуации Kernel не уважает многозадачность (приложения с фоновыми службами, приложения с иконкой в ​​строке состояния и т. Д.), А в некоторых случаях даже приоритетные приложения (когда это очень важно). Когда ядру не удается это сделать из-за недоступности процессора и т. Д., Устройство действительно выходит из строя. Вот как это работает.

В вашем случае одна или несколько причин несут ответственность:

  • У вас есть множество фоновых приложений, которые тратят много памяти даже во время игры.
  • Игра требует больше ресурсов, чем обеспечивает ваше устройство. Это менее вероятно, потому что игра запускается в большинстве случаев, но возможно, что игра выполняет большое кеширование памяти, что превышает текущую доступную память.
  • Существует ошибка утечки памяти по крайней мере в одном из установленных приложений.

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

В последнем случае вы всегда можете установить CatLog, чтобы увидеть, что произошло после сбоя игры. Если вы найдете его как иностранный язык, Google или спросите здесь.

Android Quesito
источник
Большое спасибо, я обязательно попробую. В настоящее время загружаю его. :)
Иван
2

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

После установки SDK вы можете просто начать регистрацию через терминал / CMD с помощью

adb logcat

Картинка для иллюстрации (нажмите, чтобы увеличить):

Картинка для иллюстрации

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

Chrisii
источник
Спасибо за предложение. Но сначала я попробую приложение catlog, так как на моем компьютере нет Android SDK. Производительность моего компьютера хуже, чем у моего Android LOL. Но большое спасибо, я мог бы попробовать.
Иван
о, кто-то отредактировал мой вопрос и немного изменил его значение. Я спрашивал «это из-за моей оперативной памяти?», Да, я допустил ошибку, когда говорил раньше «объем памяти ОЗУ», но имел в виду свою оперативную память. У меня еще есть около 14 ГБ дискового пространства.
Иван
На самом деле вам не нужно устанавливать весь SDK для этого - все, что вам нужно, это исполняемый файл adb (я использую его таким образом; он поставляется, например, с root-эксплойтами, предназначенными для Android 4.x).
Иззи
-3

Загрузите Advance Task Killer с Android Market. Затем откройте его, перейдите Settingsи выберите auto task kill.

user26898
источник
Если возможно, укажите ссылку на приложение. :)
geffchang
1
Чем может быть полезен убийца задач? «Автозадача» - очень плохая вещь (достаточно сообщений об этом, поэтому я не буду вдаваться в подробности, поскольку они не связаны с вопросом). Короче говоря: убийцы задач хороши только для убийства зависших задач, которые занимают много ресурсов и не могут быть закрыты иначе.
Иззи