面试题答案
一键面试数据存储结构
- SharedPreferences:以键值对(key - value)的形式存储简单的数据类型,如字符串、布尔值、整数、浮点数等。结构较为扁平,不适合存储复杂的嵌套数据。
- SQLite:采用关系型数据库结构,通过表来组织数据,表中包含多个列(字段)和行(记录)。可以定义表之间的关系,适合存储结构化、复杂且关联的数据,如具有多表关联的用户信息、订单信息等。
读写性能
- SharedPreferences:读写操作相对简单快速,因为它主要用于存储少量的简单数据。数据存储在内存映射文件中,读取时直接从内存获取,写入时会异步提交到文件系统。但如果数据量较大,尤其是频繁写入时,性能会有所下降。
- SQLite:对于复杂的查询和大量数据的读写,SQLite经过优化后可以提供较好的性能。它支持事务处理,能保证数据的一致性和完整性。不过,相比SharedPreferences对于简单数据的读写,SQLite的操作涉及更多的数据库操作开销,如连接数据库、解析SQL语句等,在处理简单少量数据时性能不如SharedPreferences。
适用场景
- SharedPreferences:适用于存储应用的配置信息,如用户的偏好设置(是否开启夜间模式、是否自动登录等)、简单的状态标记等。这些数据量小且结构简单,使用SharedPreferences可以方便快捷地进行读写操作。
- SQLite:常用于需要处理大量结构化数据且数据之间存在一定关系的场景,如本地数据库存储聊天记录、离线缓存的用户数据、应用内的商品信息等。它能够通过SQL语句进行复杂的查询、更新和删除操作,满足复杂业务逻辑的数据管理需求。