不知道你有没有过这样的体验:在地铁里刷着社交软件,突然进了一个信号盲区,屏幕瞬间变成一片刺眼的空白,只剩下一个“网络连接失败”的加载圈在无情旋转。这种时候,用户往往会烦躁地直接滑掉 App。为了给用户提供无缝的体验,离线缓存(Offline Caching) 是移动端开发无法绕过的一环。但是,App 里的数据五花八门:有几 KB 的“夜间模式”开关状态,有几万条结构化的聊天记录,还有几十 MB 的视频文件……在 Android 开发中,数据也是分“轻重缓急”和“体量大小”的。 你总不能把一个 50MB 的离线视频,塞到跟“夜间模式开关”一样的地方去存储吧?现代 Android 开发为我们提供了 4 种主流的本地存储方式。今天,我们就用大白话和生活中的生动比喻,带你彻底理清它们各自的特点、适用场景,以及在 Kotlin 中如何优雅地实现它们。
2023 年是大语言模型落地应用的早期阶段,也是“年薪百万的提示词工程师”刷屏的一年。工业界曾一度将核心精力投射于提示词工程,导致市面上充斥着“万能 Prompt 模板”和“Prompt 圣经”。与此同时,方法论侧也在经历系统化的演进,从早期的少样本提示发展至思维链、思维树等高级策略[1],与依赖用户直觉的“盲提示(Blind Prompting)”划清了界限[2]。这是上半场的故事:人们在卷“怎么跟 AI 说话”。然而依赖单次交互的“提示-响应”模式所带来的瓶颈也很明显。稍微深度用过 AI 的人都会发现,无论 Prompt 写得多巧,自己仍然充当“人肉缝合怪”的角色——把代码贴进去、复制结果、跑出错、把报错粘回来、改 Prompt、再来一遍。当应用于大型软件工程或复杂业务场景中时,这种瓶颈会被进一步放大。上述单轮交互模式无法支撑多步逻辑推理,亦无法自主维护工具状态或进行跨会话的记忆管理[3],使得人类研究者在实质上成为了维持系统运转的中转站。