闭卷重建移动HTTP客户端与连接策略的对象、公式、算例、算法与失败边界。
移动计算与安卓系统 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建API契约、序列化与版本的对象、公式、算例、算法与失败边界。
闭卷重建连接状态与可达性的对象、公式、算例、算法与失败边界。
闭卷重建离线优先与本地事实源的对象、公式、算例、算法与失败边界。
闭卷重建冲突检测与合并策略的对象、公式、算例、算法与失败边界。
闭卷重建同步队列、幂等与退避的对象、公式、算例、算法与失败边界。
闭卷重建推送通知与消息一致性的对象、公式、算例、算法与失败边界。
对象:移动客户端升级慢,服务端需较长兼容窗口;未知/缺失字段和错误体要有稳定策略。;公式:compatibility tested old client×new server and new client×old server where relevant。;算例:新增可选字段旧客户端可忽略;把整数改字符串可能解析失败。;边界:严格枚举遇新值崩溃;错误响应按成功模型解析。。
对象:客户端要配置TLS、池、超时、压缩、取消和有限重试,并感知应用生命周期。;公式:T=request queue+DNS+connect+TLS+server+transfer。;算例:总500ms,DNS20、连接40、TLS60、服务200、传输80,队列100ms。;边界:所有超时设无限;Activity销毁后回调持有引用。。
对象:UI优先观察本地数据库,网络同步把远端变化事务写入本地,断网仍可读写明确范围。;公式:UI←local source; sync reconciles local/remote versions。;算例:用户离线编辑生成pending操作,UI立即显示;联网后上传并处理服务端版本。;边界:网络响应直接驱动UI而数据库另写;离线操作无持久队列。。
对象:系统报告有网络只表示存在默认网络,不保证DNS、互联网或目标服务可达。;公式:usable=network capability∧validated/target probe∧policy。;算例:连上需登录门户Wi-Fi时connected为真但API不可用。;边界:先ping再每请求;离线UI仅依赖瞬时回调。。
对象:同步操作持久化ID、依赖、尝试次数和状态;服务端用幂等键,重试指数退避带抖动。;公式:delay=min(cap,base×2^attempt)+jitter。;算例:base2秒、attempt3,未封顶为16秒。;边界:成功响应未落本地就删操作;永久错误无限重试。。
对象:最后写入胜出、字段合并、CRDT或人工解决适合不同语义;必须有版本/因果信息。;公式:conflict if base_version≠current_version and changes overlap。;算例:客户端基于v3改标题,服务端已到v4也改标题,重叠冲突不能静默覆盖。;边界:只按设备时钟LWW;把余额等不可交换数据字段合并。。
对象:推送是提示/失效信号,不保证唯一、顺序或及时;真实状态仍从受信源获取。;公式:notification delivery≠business event commitment。;算例:收到“订单完成”推送后应查询/同步订单,重复推送不重复业务效果。;边界:把推送payload当唯一订单真相;通知点击绕过授权。。