我有一个ArrayList
定制化、简单化Serializable
我想缓存到磁盘并在重新启动时读取的对象。我的数据非常小,大约有 25 个对象,最多 5 个列表,所以我认为 SQLite 有点过大了。在 iPhone 世界里我会使用NSKeyedArchiver
and NSKeyedUnarchiver
效果很好。在Android上我尝试用FileOutputStream
and ObjectOutputStream
虽然结果是一样的,但性能却很糟糕。有没有更好(读取更快)的方法将小对象缓存到 Android 中的文件系统?
值得一提的是,我使用 BufferedWriter/BufferedReader 将一些字符串数据缓存到磁盘,而且速度非常快。事实上,它比将相同数据存储到 SharedPreferences 更快。代码是这样的(请注意,当您提供缓冲区大小时,事情发生得更快)
final BufferedWriter out = new BufferedWriter(new FileWriter(file), 1024);
out.write(stuff);
out.close();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)