核心要点
16K 页面大小支持目前作为开发人员选项提供,并非强制要求。
引入多项提升开发体验、多语言支持、多媒体功能、交互体验和隐私安全的更新。
重点关注前台服务限制、Window Insets 行为变化、AndroidManifest 文件限制等适配要求。
开发体验
-
ApplicationStartInfo API 帮助了解应用启动情况。
-
Jetpack Profiling 简化性能数据采集。
-
StorageStats API 统计应用存储空间使用情况。
-
PdfRenderer API 增强 PDF 文件处理能力。
-
新增 Canvas 绘制功能,例如 Matrix44 和 clipShader。
多语言和排版
- 简化可变字体的创建流程。
- 改进 CJK 语言的文本对齐方式。
多媒体
- setDesiredHdrHeadroom API 控制 HDR 视频的亮度范围。
- 优化 AAC 音频的响度和动态范围。
- Low Light Boost 提升低光环境下的图像预览效果。
交互体验
- 增强大屏多任务处理体验,支持保存分屏应用组合和固定任务栏。
- 默认启用 “边到边” 应用显示模式。
- 提升无障碍功能体验。
- 优化 NFC 交互体验。
- 支持应用归档和取消归档。
隐私安全
- 引入“私人空间” 保护敏感应用。
- 支持一键登录和凭据自动填充。
- 增强应用权限监管,防止敏感信息泄露。
适配指南
-
16K Page Size: 暂不必强制适配,但建议开发者提前测试和优化。
-
AndroidManifest 文件限制: 控制 tag 数量,注意属性长度和特殊字符限制。
-
前台服务: 了解新的限制和超时机制,避免应用崩溃。
-
Window Insets: 熟悉 “边到边” 模式下的布局变化和适配方法。
总结:
Android 15 带来了众多新特性和改进,开发者需要关注适配指南,确保应用兼容性,并积极利用新功能提升用户体验。
理解与拓展
1. 16K Page Size 适配的深入思考:
-
第三方库的适配: 开发者需要关注常用第三方库的更新情况,确保它们已经适配了 16K Page Size。如果使用的是未适配的版本,可能会导致应用崩溃或出现其他问题。
-
性能测试: 即使应用已经完成 16K Page Size 适配,也建议进行全面的性能测试,以评估实际性能提升和潜在问题。
-
ABI 架构选择: 建议开发者优先构建和测试 64 位架构(例如 arm64-v8a)的应用,因为 16K Page Size 在 64 位设备上更为常见。
2. Window Insets 适配的最佳实践:
-
使用 WindowCompat 类: 建议使用 Jetpack 库中的 WindowCompat 类来管理 Window Insets,以确保更好的兼容性和更简洁的代码。
-
处理不同状态栏高度: 不同设备的状态栏高度可能不同,适配时应考虑到这一点,避免布局被遮挡。
-
测试不同屏幕尺寸和设备: 建议在多种屏幕尺寸和不同品牌的设备上进行测试,以确保适配的全面性。
3. 前台服务的替代方案:
-
WorkManager: 对于大部分后台任务,建议使用 WorkManager 来替代前台服务,它可以更加灵活和省电地执行后台任务。
-
JobScheduler: 对于需要在特定条件下执行的任务,可以使用 JobScheduler 进行调度。
-
Foreground Service 合理化使用: 在必须使用前台服务的情况下,应尽量减少其运行时间和资源占用,并提供清晰的用户提示。