Android - Как поймать java.io.IOException: на устройстве не осталось места - PullRequest
0 голосов
/ 16 февраля 2012

Просто чтобы прояснить это, это на реальном устройстве, а не на эмуляторе. У меня есть настроенный файл, в котором я храню изображения, и внезапно устройство не выдаст свободного места в предупреждении устройства в logcat. Я вижу, что у меня осталось место в памяти, но по какой-то причине он просто не сохранит больше файлов. Я использую маленькие числа, чтобы назвать изображения, поэтому у меня нет сумасшедших размеров имен.

Сейчас у меня есть около 80 или около того изображений в файле, прежде чем он выдаст эту ошибку.

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

Другая проблема, с которой я столкнулся, заключается в том, что я говорю приложению о сохранении данных на SD-карте с помощью

android.os.Environment.getExternalStorageDirectory();

но хранит данные во внутренней памяти. Я установил все свои разрешения и все, но по какой-то причине он хранится на внутреннем, а не на внешнем.

Так может кто-нибудь указать мне некоторую информацию о том, как проверить объем памяти, доступной для хранения моего приложения, а также, возможно, некоторые советы о том, почему я в конечном итоге сохраняю данные во внутреннем, когда я пытаюсь сохранить во внешнем.

1 Ответ

1 голос
/ 16 февраля 2012

Вы должны использовать android.od.Environment.getExternalStorageDirectory.getPath()

Проверьте это out.

...