Android 17 Beta 1 来了,这 6 个变化你必须提前知道

0 阅读6分钟

你的 App 还在锁定横竖屏方向?

抱歉,Android 17 不让了。

2 月 13 日,Google 发布了 Android 17 的首个 Beta 版本(SDK 37)。这次更新不只是例行升级——从大屏适配到底层性能、从相机 API 到视频编码、从安全策略到 Activity 生命周期,几乎每个方向都有实质性变化。

挑重点说,帮你快速建立全局认知。

android17_beta1_cover.png

告别 Developer Preview,拥抱 Canary 频道

先说一个流程上的大变化。

从 Android 17 开始,Google 取消了传统的 Developer Preview 阶段,改为常驻的 Android Canary 频道。功能和 API 通过内部测试后会直接推送到 Canary 通道,开发者可以通过 OTA 更新持续获取最新版本。

这意味着什么?

  • 不用再等半年一次的 DP 版本,新特性随到随测
  • 更容易集成到 CI/CD 流程
  • 反馈周期大幅缩短

对于日常跟进 Android 新特性的开发者来说,这是个效率提升。

大屏适配:从「建议」变成「强制」

这可能是影响面最广的变化。

targetSdk 37 的应用,在 600dp 以上的大屏设备上,必须支持自适应布局。

系统会直接忽略你在 Manifest 中设置的:

  • 固定屏幕方向(screenOrientation
  • 不可调整大小(resizeableActivity=false
  • 固定宽高比

换句话说,你的应用必须能在分屏、窗口化、折叠屏展开等场景下正常运行

两个例外:

  • 游戏应用不受限制
  • 最小宽度低于 600dp 的设备不受影响

用户仍然可以在系统设置中手动覆盖这些行为。但作为开发者,你不能再假设自己的 App 只会在固定方向和尺寸下运行了。

行动建议: 如果你的 App 还没适配大屏,现在是时候排期了。等正式版发布再改就来不及了。

性能底层:三项改动直达 Runtime

这次的性能优化不是修修补补,是底层重构级别的。

Lock-free MessageQueue

消息队列换成了无锁实现,减少线程竞争导致的丢帧问题。但如果你的代码通过反射访问 MessageQueue 的私有字段——会出问题。

分代垃圾回收

GC 策略改为分代模式:对年轻代对象做更频繁的轻量回收,减少全堆扫描的频率。对于内存抖动严重的场景,理论上会有明显改善。

static final 字段不可反射修改

Runtime 现在禁止通过反射或 JNI 修改 static final 字段,这让编译器可以做更激进的优化。但如果你的项目里有通过反射改常量的黑科技——是时候重构了。

这三项改动的共同特点:正常写代码的不受影响,走偏门的要注意了。

相机 API:终于不用每次切模式都重启会话了

做过相机开发的都懂,切换拍照/录像/慢动作模式时,经常需要关闭当前 CameraSession 再重新创建。这个过程带来的黑屏和卡顿体验很差。

Android 17 新增了 updateOutputConfigurations() 方法,支持动态更新相机会话的输出配置,不需要完全重建会话。模式切换更丝滑。

另外一个实用更新:现在可以直接获取逻辑多摄中所有活跃物理摄像头的元数据,不需要为次要摄像头额外分配数据流。对于做多摄融合、景深计算的应用来说,减少了不少资源开销。

H.266/VVC 来了:下一代视频编码标准

Android 17 正式支持 VVC(Versatile Video Coding)/ H.266 编码格式,新增了专用的 MIME 类型和编解码 Profile。

相比 H.265,VVC 可以在相同画质下减少约 50% 的文件体积,或者在相同体积下获得更好的画质。

同时还新增了恒定质量模式(Constant Quality),通过 setVideoEncodingQuality() 方法可以更精细地控制视频质量,而不仅仅依赖码率设置。

对于短视频、直播、视频编辑类 App 来说,这是值得提前关注的能力。

安全策略收紧:明文 HTTP 快要彻底不能用了

Android 17 对 android:usesCleartextTraffic 做了更严格的限制——现在必须通过 Network Security Configuration 来显式配置,且默认禁止未加密的流量。

说人话:如果你的 App 里还有走 HTTP 的请求,该升 HTTPS 了。

此外还有一个新的加密能力:HPKE(Hybrid Public Key Encryption),结合了公钥加密和对称加密的优势,适合需要端对端加密的场景。

后台音频也加了限制:播放、焦点请求、音量调整都需要明确的用户意图,防止应用在后台偷偷播放音频。

Activity 不再默认重建了

这个改动乍一看很小,影响却很大。

以往键盘弹出/收起、导航模式切换、UI Mode 变化、触摸屏变化、颜色模式切换等配置变更,都会导致 Activity 重建。

Android 17 起,这些配置变更默认不再触发 Activity 重建。

如果你的 App 确实需要在这些配置变化时重建 Activity,需要在 Manifest 中显式声明:

android:recreateOnConfigChanges="keyboard|navigation|uiMode"

这是一个行为反转——以前是默认重建、可以声明不重建,现在反过来了。如果你的 App 依赖 onCreate 来响应这些配置变化,需要适配。

其他值得关注的更新

  • VoIP 通话可以集成到系统通话记录,支持头像和隐私控制
  • Wi-Fi Ranging 支持持续测距和安全的点对点发现
  • CompanionDeviceManager 新增医疗设备和健身追踪器 Profile,一次弹窗搞定所有权限
  • ProfilingManager 支持冷启动、OOM、CPU 过高等场景的自动触发
  • 自定义 Notification 的内存用量做了限制,堵上了 URI 加载的绕过手段

时间线

里程碑时间
Beta 1(当前)2026 年 2 月
Platform Stability2026 年 3 月
正式版(Pixel)2026 年 Q2
小版本 SDK 更新2026 年 Q4

3 月就要锁定 API,留给开发者的适配窗口并不长。

写在最后

Android 17 给我的感觉是:Google 在「逼」开发者走正道。

大屏适配不再是可选项,反射黑科技被封堵,明文流量要淘汰,Activity 生命周期的默认行为也改了。每一项都在推动开发者写更规范、更现代的代码。

阵痛是有的,但长远看是好事。

你的 App 准备好迎接 Android 17 了吗?最担心哪个变化?评论区说说。

#Android17 #Android开发 #移动开发 #程序员 #Google #技术更新