Android 17 正式发布了。如果你只是扫了一眼新闻标题,大概率会觉得不过是又一轮 Feature Drop:Bubbles 升级了、录屏加了画中画、暗黑模式多了几个开关。
但细读下来,有意思的地方不在功能列表里,在 Google 对 "AI 进系统" 的思路变了——从 App 层套壳变成了内核框架层的嵌入。
几件事值得聊。
App Memory Limits:Android 终于管内存了
Android 17 引入了一个长期被用户和开发者呼吁的底层限制:单个 App 的内存上限。官方说法是 "app memory limits to ensure apps never use too much RAM",目的是改善整体性能和续航。
具体做法是在系统框架层设置硬性 cap,超过上限的 App 会被主动回收。同时配合 ADPF(Android Dynamic Performance Framework)做动态调优——你在打游戏时系统给前台更多余量,切到后台就收得更紧。这套机制与 ADPF 形成了 "性能监控 + 主动限制" 的双层管控。
对开发者来说,这意味着用 RAM 换速度的打法不灵了。Bitmap 池、LRU 缓存、懒加载得认真对待。好在 Android 17 的 SDK 新增了 ActivityManager.getMemoryLimit() API,运行时就能查到自己的 cap。
顺便一提,这是 AOSP 层面的改动,GrapheneOS 也会原样继承。该团队已经确认在 Pixel 6a、7、8、10、10 Pro Fold 等全系设备上完成了 Android 17 的移植测试。
Gemini Nano v2:AI 不再只有云端一条路
Gemini Live 或者 Circle to Search 的升级都是 App 层面的体验优化。真正值得关注的是 Android 17 把 Gemini Nano 从试验性组件升级成了系统级 API。
证据很直接:Gboard 的 AI 写作工具(纠错、改写语气、简化表达)明确要求 "Gemini Nano v2 or higher"。打开任何输入框时,系统端侧模型已经在本地运行。没有网络请求,没有延迟,数据也不出设备。
Expressive Captions 也用了同样的技术——实时识别语音情绪,在字幕里标注 [joyful] 或 [sad]。这个功能的延迟要求极高,纯云端方案做不到。它必须跑在 NPU 上,靠 Tensor 芯片的本地推理。
这套思路和 Apple Intelligence 的方向一致:端侧模型不再是可有可无的加分项,而是操作系统的必选组件。Android 17 和 iOS 27 在这个时间点几乎同时转向,不是巧合。区别是 Apple 走的是统一硬件路线(自研芯片 + 统一内存),Google 需要面对碎片化的 NPU 生态——Tensor、骁龙、Exynos、天玑各家的驱动和算力参差不齐。Gemini Nano v2 能覆盖到哪个范围,决定了这套系统级 AI 体验的实际落地面。
Bubbles 2.0:浮窗的工程取舍
Bubbles 从 Android 11 就有了,但一直限制在聊天类通知。Android 17 把它扩展到了任意 App——长按图标就能转成悬浮窗,折叠屏上还会多一个 Bubble Bar 停靠栏。之前最多同时开两个窗口,现在没有这个限制了。
从工程角度看,这事比听起来难得多。普通 App 没有聊天的 "短生命周期" 特性,悬浮窗如果管理不当,SurfaceFlinger 的图层合成、Choreographer 的帧调度、输入事件的路由都会受影响。Google 的方案是:Bubbles 模式下 App 走轻量级渲染路径,资源优先级低于前台全屏 App。内存 cap 保证了一个 Bubble 占用的显存和堆内存不会拖垮前台进程。
对折叠屏用户来说,Bubble Bar 是个实际有用的东西。外屏切换到内屏、或者半折叠成桌面模式时,Bubble 不会丢失状态,这点和三星 DeX 的体验思路一致。
Privacy:两个真正有用的改动
Android 的隐私更新大多偏防御性(权限弹窗、后台限制),用户感知不强。这次有两个步骤值得认真说道:
位置临时授权:不再需要每次选 "仅在使用时允许" 然后下回又弹窗。现在可以给一个 App 一次性的精准位置权限,App 获取后自动收回。这解决了地图类 App 的痛点——我只想搜个路线,并不想让你一直知道我住哪。
联系人选择分享:之前联系人权限是二元的——要么全给,要么一个都用不了。现在可以勾选几个联系人,只共享他们。这在社交 App 注册或者简历投递场景下非常实用。
另外,Google Messages 的 AI 垃圾聊天检测也升级了:被未知号码拉入群聊时会收到弹窗提醒,一键离开加举报。虽然不算隐私特性,但属于 "用户被少烦一次" 的实用改进。
说实话,"Mark as Lost" 和 "Live Threat Detection" 的升级营销味有点重。但这两个细粒度权限改动,是从 Android 10 的 "分区存储" 以来最有诚意的隐私变化。
另外,这次升级附带了一个设备支持的 "削藩":Pixel 6 和 6 Pro 不在 Android 17 的官方推送名单里。Google 博客没明说,但 GrapheneOS 社区也确认了这一点。这在意料之中——Tensor 第一代芯片的 NPU 性能跟不上 Gemini Nano 的最低要求,同时内存 cap 策略在老设备上可能引发更多兼容性问题。
Accessibility 的收紧:被低估的变动
GrapheneOS 社区已经在讨论:Android 17 限制 Accessibility Service 只能被 "permitted accessibility tools" 使用。这个改动在 AOSP 层面,目的是堵死恶意 App 利用无障碍服务来做键盘记录和权限提升。
但副作用也很明显:依赖 Accessibility Service 的第三方工具(定时锁屏、专注统计、自动化脚本)可能会失效。Google 的 "permitted" 列表怎么界定,目前还不清楚。如果谷歌把审批流程做得跟 Play Integrity 一样随意,这部分会是一个争议点。
开发者视角的总结
Android 17 不是一个 "大改版",但它的几个底层改动——App Memory Limits、Gemini Nano 系统化、Accessibility 收紧——指向同一个方向:Google 在认真做系统级 AI,而不是凑合给 Play Store 应用套个壳。
对我自己而言,最实用的建议是:
- 更新 target SDK 后检查
ActivityManager.getMemoryLimit()的返回值,调整 LRU 缓存大小。过去在 Android 12 上使用 256MB 内存缓存是安全的,Android 17 的 cap 可能只有 192MB - 关注 Gemini Nano API 的文档——端侧推理的机会比想象的多。现在 Gboard 已经确认用上了,下一个可能是系统截图分析或通话实时翻译
- 如果你的 App 用到了 Accessibility Service,尽快测试 Android 17 上的兼容性。Google 可能会收紧 "permitted" 列表
- 折叠屏和平板用户,Bubbles 2.0 值得试试,但不是所有 App 都适配到了 Bubble 模式(尤其是没做 Fragment 架构的旧 App)
最后的最后,这次还有个不太起眼的改动值得提:Digital Car Key 扩展到了保时捷,即将支持 Rivian、Ram 和凯迪拉克。Google 在车机互联上的推进比很多人想的要扎实。但这是题外话了。
至于 AI,我仍然认为现在的大部分 "AI Phone" 宣传是营销大于实质。但 Android 17 这一步——把 NPU 推理做成系统 SDK 的一部分,让 App 开发者不依赖云端就能调用模型——方向是对的。剩下的,看开发者怎么用了。
浙公网安备 33010602011771号