我通过以下方式写入文件:
long byteCount = 0;
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = zipStream.read(buffer)) != -1) {
fOut.write(buffer, 0, bytesRead);
byteCount += bytesRead;
//...
if (fOut != null) {
fOut.flush();
fOut.close();
}
if (zipStream != null) {
zipStream.close();
}
} catch (Exception e) {...}
当我在下载系统时取出我的 SD 卡时,总是会在几秒钟内杀死我的应用程序进程。据我了解,这是因为系统需要清除 SD 卡卸载后仍然存在的资源。在这种情况下如何避免杀死我的应用程序?
我抓住的一切:
W/System.err(2732): java.io.IOException: I/O error
06-06 16:25:01.411: W/System.err(2732): at org.apache.harmony.luni.platform.OSFileSystem.write(Native Method)
06-06 16:25:01.411: W/System.err(2732): at dalvik.system.BlockGuard$WrappedFileSystem.write(BlockGuard.java:171)
06-06 16:25:01.411: W/System.err(2732):