我正在下载文件并将它们保存到 SDCard 并希望在 SDCard 已满时捕获事件。现在,如果 SDCard 上没有内存,它会抛出 IOException。
如何区分内存满异常和其他 IOExceptions?
干杯,普拉泰克
我正在下载文件并将它们保存到 SDCard 并希望在 SDCard 已满时捕获事件。现在,如果 SDCard 上没有内存,它会抛出 IOException。
如何区分内存满异常和其他 IOExceptions?
干杯,普拉泰克
如果没有像 NoMemoryLeftExeption 这样的东西,那么通常是消息。
您可以在 SD 卡上剩余的 IOException 空间之后检查...如果超过少量然后重新抛出该异常,否则您可以假设这是 MemoryFullException
如果您知道要写入 SD 卡的数据量,则可以在尝试写入之前检查是否有足够的空间,从而完全避免 IOException。
如果 IOException 消息 (e.getMessage()) 包含以下文本
ENOSPC(设备上没有剩余空间)
您可以 100% 确定 SD 卡已满。