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