8

我们在 android 市场上有应用程序,我们的用户从这个错误中得到了很多: java.io.IOException: No space left on device

从我目前发现的情况来看,我知道他们在外部存储上留有足够的空间,而且这只发生在 Android 2.x 上。

我对Linux文件系统做了一个小研究,发现除了空间限制之外,每个目录中的文件数和根目录下的文件总数都有限制。但看起来我们的应用程序没有达到任何这些。

  • 你有过这样的事情吗?
  • 关于 Android (2.x) 中发生了什么变化以及他们如何在 Android (3+) 中修复它的任何想法?

编辑:这不是安装问题,而是在尝试保存下载的文件时。

4

2 回答 2

5

添加导致异常的绝对文件路径的日志输出可能会有所帮助。

如果写入的文件被写入本地内存文件系统而不是 sd 卡文件系统,这是一个可能的解决方案:

java.io.IOException: No space left on device我的意思是设备的内部存储文件系统上没有足够的内存。

您可以尝试在 sd 卡上安装应用程序,方法是在清单文件中设置一个条目:

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

编辑

如果应用程序安装在内部存储器中,它的本地文件也存储在本地存储器中。如果应用程序安装在 sd-cardit 上,则它的本地文件也存储在 sd-card 上。

因此在 sd 卡上安装应用程序可能会解决您的问题。

于 2012-05-06T10:52:16.733 回答
0

我相信(如果我不正确的话)在所有空间用完后打开大文件或任何超过永久存储最大值的文件可能会遇到问题。例如:直到我用完设备上的所有空间直到最后一点,我的 android 才打开没有任何问题。除非我升级或删除所有我最喜欢的歌曲和电影,否则它不会起作用。测试并尝试了它。但话又说回来,错误可能更灵活,也意味着其他东西......:D

于 2012-05-06T08:35:43.633 回答