Этот вопрос немного изменился по сравнению с первоначальным, вот краткая информация:
Я заполнил дисковое хранилище на эмуляторе и получил его абсолютно бесполезно - процесс android.process.acore отображает диалоговое окно «... неожиданно остановлено» в цикле, поэтому в системе ничего нельзя сделать. Я даже не могу выключить его кнопкой питания справа (он пытался выключить в течение 10 минут, logcat полон исключений). Отлично, это эмулятор, интересно, что бы случилось, если бы это было мое настоящее устройство ..
Может быть, кто-нибудь сможет уточнить причины такого поведения - должно ли это быть так?
Вот начальный вопрос, пожалуйста, также обратитесь к мои правки:
Мне интересно обрабатывать случайные ситуации, такие как нехватка дискового пространства на устройстве Android.
Я просмотрел примеры на developer.android.com и увидел они даже не заботятся об обработке исключений.
Я вижу, что когда дело доходит до классов SQLite, есть пара исключений, например SQLiteOutOfMemoryException , но я не могу найти никакой информации когда и как обрабатывать эти сценарии.
Есть ли у кого-нибудь опыт:
Заранее благодарим за уделенное время, ребята.
[ Edit ]
Я также столкнулся с этим укусом в системе отслеживания проблем Android:
http://code.google.com/p/android/issues/detail?id=1653
Это загадочно ... и кажется, что это привидение с 2008 года.
[ Edit2 ]
Alrite, с советом из комментариев: Я только что провел тест, используя:
dd if=/dev/urandom of=file
с параметрами bs и count, выбранными так, чтобы соответствовать оставшемуся пространству,
и заполнил раздел / data.
Как я удивлен, что Google Maps просто вылетел из-за SQLiteFullException. На самом деле все приложения дают сбой, даже телефон.
Правда ли, что никто не обрабатывает эти исключения? Это нормально, что эти приложения просто прерываются с помощью сообщения «.. неожиданно остановлено»?