RSS Android 开发者博客 笔记

RSS Android 开发者博客

Android 开发者博客是一个由 Google 维护的平台,为 Android 应用开发者提供更新、见解和指南。它定期发布关于各种主题的帖子,包括 Android 的新功能、Android 开发工具的更新、开发者成功故事和开发者最佳实践提示。 该博客面向 Android 应用开发者,旨在帮助他们将应用程序优化到 Android 平台上。它还鼓励开发者分享他们在应用开发中的经验、想法和成就。

笔记线程

Google 宣布在 Jetpack XR 中预览 Geospatial API,将其视觉定位系统(VPS)引入 Android XR。该技术能够在支持区域将数字内容以高精度和方向锚定于现实世界。为展示其潜力,开发团队打造了 XR 地理空间导览,这是一种沉浸式、免手持的步行导览体验。该演示结合了 Geospatial API、Gemini API 与 Firebase AI Logic、Google Maps Grounding 以及 Jetpack XR SDK。Geospatial API 利用计算机视觉提供比 GPS 更精确的位置和航向信息。该应用会监控精度阈值,若用户处于室内或不受支持的位置,则提示其移动至可识别的户外区域。为生成导览路线,Gemini API 会根据用户坐标生成结构化的 JSON 响应,详述附近的步行导览。Google Maps Grounding 用于锚定 AI 生成的位置,防止出现偏差。动态语音解说采用 gemini-2.5-flash-tts 模型实现,该模型可直接返回音频数据,为虚拟导览员增添了生动且引人入胜的元素。Jetpack Compose for XR 用于渲染空间组件,使导览体验在 3D 空间中栩栩如生。开发团队构建了自定义组合组件(composables),例如 InfoSphere,以交互式方式展示兴趣点。通过将 Jetpack Compose for XR 与 Geospatial API 和 Gemini 相结合,开发者能够创建既理解用户位置又感知上下文的空間体验。Geospatial API 的可用性降低了在 Android 上构建世界级空间应用的门槛。开发者可申请加入 Android XR 开发者催化剂计划,以获取 XREAL Project Aura 开发套件。该举措旨在推动 Android XR 开发的创新。
Android 17 已发布,将操作系统转变为以应用为中心的智能系统。其强调自适应优先开发,强制支持大屏幕可缩放性,并增强了隐私、安全、媒体、相机和性能。源代码现已在 AOSP 上可供开发者查阅。Android 17 整合了硬件、软件与人工智能,以预判用户需求,并为应用参与提供新机遇。AppFunctions 作为平台 API,允许应用将能力贡献为可由 AI 代理调度的“工具”。Jetpack 库通过类注解和 KDoc 注释简化了 AppFunctions 的实现。拥有超过 5.8 亿台大屏幕设备,自适应开发至关重要,因此转向自适应优先标准。Android 17 移除了针对 API 级别 37 应用在大屏幕上的方向限制和可缩放性限制,要求这些应用适应任何窗口尺寸。新的多任务功能包括应用气泡(App Bubbles)用于悬浮应用、大屏幕上的气泡栏(Bubble Bar)用于管理这些气泡,以及桌面环境中的交互式画中画(Picture-in-Picture)。活动重建默认值已更新,以防止配置变更期间出现破坏性的状态丢失。“继续执行”(Continue On)功能允许在 Android 设备之间无缝切换任务。Jetpack Compose 现在是构建自适应应用的主要方式,所有新的 Android API 和库均专为 Compose 设计。传统的 View 组件现已进入维护模式。Android 17 包含性能改进,例如更严格的应用内存限制,将终止违规进程。代际垃圾回收和无锁 MessageQueue 进一步通过降低 CPU 使用率和减少 UI 卡顿来提升性能。
流畅的视频播放对于用户体验至关重要,但延迟是一个主要障碍。传统上,播放器在加载前等待选定,这对于短视频来说太慢了。解决方案是主动预加载,它在内容需要之前就准备好。预加载可以加快播放开始速度,减少缓冲,并提供更流畅的整体体验。本文将通过三部分系列介绍 Media3 的预加载实用工具。第一部分侧重于基础知识:理解 Media3 的预加载策略并设置 DefaultPreloadManager。预加载的核心思想是在播放开始前下载内容片段,就像在厨房里准备食材一样。Media3 提供了两个主要的预加载 API。第一个是 PreloadConfiguration,适用于播放列表可预测的场景,播放器会自动预加载下一项。这是一个易于尝试预加载的选项。第二个 API 是 PreloadManager,专为垂直信息流或轮播等动态 UI 设计,其中下一项不总是连续的。DefaultPreloadManager 是标准的实现,可以对预加载的内容和数量进行细粒度控制。它使用 TargetPreloadStatusControl 来定义基于项目与当前播放项目接近程度的预加载时长和优先级。这使得资源利用得到优化。要使用 PreloadManager,当 MediaItems 出现在 UI 中时,您就将它们添加到其中。当用户选择一个视频时,您可以从管理器中检索预加载的 MediaSource 以加快播放速度。保持管理器与当前播放索引同步并删除不再相关的项目至关重要。最后,请记住在不再需要 PreloadManager 时释放它以释放资源。一个演示通过与传统方法相比更快的加载时间来突出 PreloadManager 的优势。
密码是重要的安全弱点,但通行密钥提供了一种用户友好、防钓鱼且安全的替代方案。Android Credential Manager API 促进了向通行密钥的过渡,同时保留了对传统登录方法的支持。通行密钥是与设备解锁机制相关联的加密凭证,通过更快、更安全的登录来增强用户体验。好处包括统一的登录界面、缩短登录时间、提高对数据泄露的安全性以及跨设备兼容性。X、KAYAK 和 Zoho 等著名应用程序在采用通行密钥后,登录率和速度都得到了显著提高。开发者可以利用 Credential Manager API 实现通行密钥、密码和联合登录,从而简化身份验证流程。建议在用户注册、登录、帐户恢复和密码重置期间提示使用通行密钥。鼓励采用需要明确的价值主张,突出安全性、便利性和跨平台一致性。无缝的用户体验,包括统一的 UI 和备用选项,至关重要。对用户进行教育和逐步推出可以进一步提高采用率。Uber 在帐户设置和其他关键时刻战略性地推广通行密钥,在不中断核心用户旅程的情况下推动了高采用率。Economic Times 改进了他们的通行密钥提示,将其从敏感的结账流程中移除,以提高转化率,并侧重于登录和帐户管理部分。将通行密钥与 Credential Manager 集成可以建立信任、增强安全性并实现身份验证策略的未来保障。遵循 UX 指南和提供的文档对于优化和无缝的通行密钥实施至关重要。