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