Обработка полного дискового хранилища в Android

Этот вопрос немного изменился по сравнению с первоначальным, вот краткая информация:

Я заполнил дисковое хранилище на эмуляторе и получил его абсолютно бесполезно - процесс 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. На самом деле все приложения дают сбой, даже телефон.

Правда ли, что никто не обрабатывает эти исключения? Это нормально, что эти приложения просто прерываются с помощью сообщения «.. неожиданно остановлено»?

12
задан chemical 10 June 2011 в 10:44
поделиться