FastSharedPreferences是一个Android平台的高性能key-value组件。
适合高强度/高频次写入读取
FastSharedPreferences由Cache层和同步层构成,特别适合高强度/高频次写入读取数据。
内存Cache
基于ConcurrentHashMap的内存Cache层,不仅提高了写入性能,也极大的提高了读取性能。
同步管理
通过脏数据标记等技术,减少了同步的次数,使得慢速的I/O不再成为读写速度的瓶颈。
dependencies {
compile 'com.jeremyliao:fast-sharedpreferences:0.0.1'
}
FastSharedPreferences.init(context);
FastSharedPreferences sharedPreferences = FastSharedPreferences.get(FSP_ID);
sharedPreferences.edit().putInt("test_key", 100).apply();
FastSharedPreferences sharedPreferences = FastSharedPreferences.get(FSP_ID);
int ret = sharedPreferences.getInt("test_key", -1);
我们将 FastSharedPreferences同 SharedPreferences、SQLite以及腾讯的MMKV进行对比,测试的结果是对每项测试重复200次取平均值(对SharedPreferences和SQLite没有重复这么多次,因为时间太长了:))。相关测试代码参见benchmark。
(测试机器是 Nexus 6 64G,Android 7.1.1,每组操作重复 200次,时间单位是 ms)
(测试机器是 Nexus 6 64G,Android 7.1.1,每组操作重复 200次,时间单位是 ms)