数据存储
由ROM+ SD CARD扩展存储构成。
ROM实际上由一块闪存构成,可以读写。 通常是yaffs2系统。
SD CARD主要用于数据共享。通常fat32系统。
随着闪存价格越来越低廉,很多设别已经无SD CARD,扩展存储和ROM用的是同一块闪存,仅仅是共享作用,与硬件实现方式无关了。
甚至提供了可扩容的插槽用于添加其他扩展存储器。strorage manager类隐藏硬件细节。
apk以压缩方式存储,第一次解压后放到缓存目录。空间和时间二者的平衡术。
系统类提供一些规则可以考虑遵守。比如图片放到某目录下。比如面向用户的字体大小设置项。
设置文件有系统提供单独的类,xml文件,可提供效率,线程安全。不能存储二进制数据。
/data/data 对应是linux home目录。
下面的每个应用对应的一个linux账号,权限控制用。
SQLite数据库,java层缓存部分数据行映射,又是时间和空间的平衡术。
1,简单的sql文提供了oop的方式进行操作
2.helper类提供了数据库版本不匹配而更新的接口,这个比较实用啊。
3.SDK提供了sqlite3工具方便开发人员调试。
adb shell
sqlite3 data/.../databases/test.db
sqlite > select * from sample
默认支持以google账户作为用户身份,每个应用可以获取到。云端存储不能满足实时数据同步,目前只适做本地信息的辅助支持。