使用
DiskLruCache
出现
Caused by java.lang.IllegalStateException edit didn't create file 0
请尽量检查代码是否正确
是否有加入
mDiskLruCache.flush();
假如都没问题,那解决方法有三个
- 一个是使用try catch 捕获
- 一个是删除源码抛出的地方
- 再一个对我是有效的,将缓冲区空间设置更大(我不确定对其他人是否有效)
其他知识:
commit()应该是执行后才有文件的
Log.d(TAG, "before exists: "+(new File("/storage/emulated/0/Android/data/cyour.package.name/cache/your.setname/"+key+".0")).exists());
editor.commit();
Log.d(TAG, "after exists: "+(new File("/storage/emulated/0/Android/data/your.package.name/cache/your.setname/"+key+".0")).exists());
前面应该是false,还没创建文件
后面应该是true,已经创建文件