【发布时间】:2012-02-16 08:44:01
【问题描述】:
只是为了清除它,这是在实际设备上而不是模拟器上。 我设置了一个文件来存储图像,突然设备会在 logcat 中给出一个 no space left on device 警告。我可以看到我在内存中还有空间,但由于某种原因它不会保存更多文件。我使用小数字来命名图像,所以我没有疯狂的名称大小。
现在我的文件中有大约 80 张左右的图像,然后才会出现该错误。
我想我可以捕捉到空间不足错误并清空文件,我知道我可能应该通过检查空间实际有多少以及我还剩下多少空间来做到这一点,但我还没有试图弄清楚这一点。
我遇到的另一个问题是我告诉应用程序将数据存储在 sd 卡上
android.os.Environment.getExternalStorageDirectory();
但它将数据存储在内部存储器中。我已经设置了所有权限和一切,但由于某种原因,它存储在内部而不是外部。
所以有人可以向我指出一些关于如何检查可用于存储我的应用程序的内存量的信息,以及一些关于为什么我在尝试存储在外部时最终存储到内部的一些提示。
【问题讨论】:
-
我也没有空间容纳用户可以在手机上拍摄的新图像,这很奇怪。当我使用应用内摄像头时,它永远不会将文件保存到我为存储它而设置的目录中。我是否有可能达到我的应用可以使用的数据量的限制或其他什么?
标签: android memory file-io out-of-memory