android SharePreference底层原理
来源:互联网 发布:卡盟源码安装教程 编辑:程序博客网 时间:2024/06/03 09:39
SharedPreFerences作为Android存储数据方式之一,特点:
1)只支持java基本数据类型
2)在应用内数据共享
3)使用简单
SharedPreferences 使用及原理详情
SharedPreferences的使用非常简单,能够轻松的存放数据和读取数据
SharedPrefences只能保存java基本数据类型,一般会将复杂类型的数据转换成base64编码
然后将转换后的数据以字符串形式保存在xml文件中,在使用sharedpreferences保存,
使用sharedpreferences保存key-values的步骤:
1)使用activity类的getSharedPreferences方法获得SharedPreference对象,
2)使用sharedpreferences接口的edit获得Sharedpreferences.Editor对象
3)通过sharedpreferences.editor接口的putXxx方法保存键值对,
4)通过Sharedpreferences.editor接口的commit()方法保存键值对
SharedPrefereces内部工作原理
调用getSharedPreferences();创建一个SharedPreferences对象,其中会先判断是否存在对应
xml文件,如果发生存在则会有一个预加载操作,这个操作把xml文件的内容通过I/O流操作和xmlUtil
解析后存入一个map对象中,多以我们调用Sharedprefernces::getString;get操作实际上是不会
对文件做I/O操作,而是直接访问刚刚的map集合内容,这提高了效率,如果对应的xml不存在则重新
创建一个对应xml文件
put写操作:分为两个步骤,
1)把数据先写入内存中,map集合中,
2)把数据写入硬盘文件中,保证数据的完整性
写操作有两个提交方式:
1)commit():线程安全,性能慢,一般来说在当线程完成写文件操作(有返回值)
2)apply();线程不安全,性能高,异步处理I/O操作,一定会把这个写文件放入一个SingleThreadExecutor线程池中(无返回值)
SharedPreferences在第一次创建后会一直维持一个singletop,每次调用getSharedpreferences()都会返回一个唯一的实例
阅读全文
3 0
- android SharePreference底层原理
- android sharepreference
- Android SharePreference
- Android-SharePreference
- Android的Window底层原理
- Android消息机制底层原理
- Android之Context底层原理
- Android事件分发底层原理
- Android消息机制底层原理
- Android热修复底层原理
- android SharePreference陌生人设置
- Android SharePreference 使用 储存
- Android--sharepreference总结
- android--存储之SharePreference
- Android--sharepreference总结
- Android SharePreference学习
- Android--sharepreference总结
- Android--sharepreference总结
- dll注入技术
- php一些简单数组函数的实现、1
- 指针
- HDU 2191 :悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- 可忽略的小概率
- android SharePreference底层原理
- 常用的性能测试指标
- Kubernetes部署大数据组件系列二:一键部署Hadoop集群
- AIDL的使用与其总结
- HDU1004-让气球上升
- laravel Passport Components not showing up in Laravel 5.5(走过的坑)
- Spring基础---配置文件、Ioc、AOP
- 【数据结构】以邻接矩阵作存储结构,求连通分量的个数,设计算法求图G的深度,深度优先序列输出
- ROS tf工具使用笔记