java.Ио.IOException: на устройстве Android не осталось места

У нас есть приложение на android market, наши пользователи получают много от этой ошибки: Ява.Ио.Класс IOException: нет места на диске

из того, что я узнал до сих пор, я знаю, что у них осталось достаточно места на внешнем хранилище, и это происходит только на Android 2.икс.

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

  • вы когда-нибудь бегали в двух таких вещах?
  • любые идеи о том, что изменилось в Android (2.x) и как они исправляют это в Android (3+)?

изменить: это не проблема установки, но при попытке сохранить загруженные файлы.

2 ответов


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

Если записываемый файл был записан в локальную файловую систему памяти, а не в sd-карту-файловую систему, вот возможное решение:

java.io.IOException: No space left on device Я имею в виду, что на внутренняя файловая система хранения устройства.

вы можете попробовать установить приложение на sd-карте вместо этого, установив запись в файле манифеста:

  <manifest ..... android:installLocation="preferExternal">

редактировать

если приложение установлено во внутренней памяти, его локальные файлы также хранятся в локальной памяти. если приложение установлено на sd-cardit, локальные файлы it-s также хранятся на sd-карте.

таким образом, установка приложения на sd-карту может решить вашу проблему.


Я считаю (если я не прав), что у него могут быть проблемы с открытием большого файла или любого файла, который идет по максимуму вечного хранилища после того, как все пространство израсходовано. Например: у моего android не было никаких проблем с открытием, пока я не использовал все пространство на своем устройстве до самого последнего бита. Если я не обновлю или не удалю все мои любимые песни и фильмы, это не сработает. Проверял и пробовал. Но опять же ошибка может быть более гибкой и означать что-то еще... : D