闭卷重建应用私有文件与共享媒体的对象、公式、算例、算法与失败边界。
移动计算与安卓系统 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建SQLite事务与约束的对象、公式、算例、算法与失败边界。
闭卷重建Room实体、DAO与迁移的对象、公式、算例、算法与失败边界。
闭卷重建DataStore与偏好一致性的对象、公式、算例、算法与失败边界。
闭卷重建缓存分层与淘汰的对象、公式、算例、算法与失败边界。
闭卷重建加密存储与密钥管理的对象、公式、算例、算法与失败边界。
闭卷重建备份、恢复与跨设备迁移的对象、公式、算例、算法与失败边界。
对象:SQLite事务提供原子提交,外键/唯一/check约束应承载可数据库保证的不变量。;公式:all statements commit or rollback together。;算例:更新余额和插入流水同事务,第二步失败时余额也回滚。;边界:跨两事务维护同一不变量;忽略busy/锁等待。。
对象:内部文件受沙箱保护,共享媒体/文档通过受控URI访问;路径和权限生命周期不同。;公式:access via URI grant rather than raw foreign path。;算例:通过选择器获一次性URI权限,应用重启后若未持久授权可能失效。;边界:硬编码外部存储路径;URI转真实路径绕过抽象。。
对象:偏好/小型对象用事务式异步存储,更新函数基于当前值原子变换。;公式:new=transform(current) atomically。;算例:两个并发“计数+1”若原子update最终加2;读改写分离可能丢1。;边界:主线程同步读;把大型关系数据塞偏好。。
对象:Room把schema与查询映射为类型接口,但索引、事务和迁移正确性仍需设计与测试。;公式:schema version v→v+1 migration preserves declared data invariants。;算例:新增非空列无默认值,旧行无法直接迁移,需填充策略。;边界:开发期fallback destructive migration带到生产。。
对象:静态加密安全依赖密钥生成、硬件保护、认证要求、轮换、备份和设备迁移。;公式:ciphertext security requires key confidentiality+nonce correctness+algorithm integrity。;算例:同一密钥/nonce重复加密流模式可能泄露关系,必须唯一nonce。;边界:密钥硬编码APK;只加密字段却日志泄露明文。。
对象:内存、磁盘、数据库和网络缓存生命周期不同;键含查询、用户、版本,淘汰不等于业务删除。;公式:effective result selected by freshness and source-of-truth policy。;算例:内存旧v1、数据库v2,策略发现版本落后应丢内存并加载v2。;边界:缓存作为唯一数据源;键漏用户导致串数据。。
对象:自动备份/设备迁移需声明包含与排除,敏感令牌和设备绑定密钥通常不应直接恢复。;公式:restored data must pass version,identity and key validity checks。;算例:恢复了旧refresh token但服务端已撤销,应用应重新认证而非循环失败。;边界:把缓存和临时会话全备份;恢复schema早于迁移。。