AOSP-Android open source project
Android 是适用于各种不同规格设备的操作系统。任何人都可以通过 Android 开源项目 (AOSP) 查看 Android 的文档和源代码。您可以使用 AOSP 为自己的设备创建自定义 Android OS 变体。
AOSP 的设计可确保不存在一个集中瓶颈,即没有任何行业参与者可一手限制或控制其他参与者的创新。因此,AOSP 是一款功能完善且达到生产质量的开发者产品,其源代码可以开放自定义和移植。
本部分文档可帮助新 AOSP 开发者开始使用该平台,并执行基本的开发任务。
Android 汽车应用
Android Automotive 是一个可自定义程度极高的全栈开源平台,可直接在车载硬件上运行。
Android Automotive 是一个基础 Android 平台,可运行预装的 IVI 系统 Android 应用程序以及可选的第二方和第三方 Android 应用程序。
Android for Cars
将您的应用部署到搭载 Android Auto 或 Android Automotive OS 的车辆上。使用一种适合这两种情况的应用架构,让每个用户都可以享受应用带来的乐趣。
MFC旋控器
旋控器是车载中控台中的一个旋钮及其四周的按钮,用于控制车机
有关防止驾驶员分心的准则
当 Android Automotive 应用遵循下文所述的《有关防止驾驶员分心的准则》(DDG) 时,应用在车辆移动时可以在 HU 上运行。DDG 包含由 Google 提供的基准建议,旨在降低对驾驶员的干扰。
符合《有关防止驾驶员分心的准则》的应用可以标记为“经过防分心优化”。本页面将详细介绍如何将应用标记为“经过防分心优化”,以便 Android 平台能够让应用在用户体验受限的状态下运行。如需详细了解:
- 汽车用户体验限制,请参阅汽车用户体验限制。
- 使用驾驶状态,请参阅使用驾驶状态和用户体验限制。
RRO 在运行时更改应用资源的值
运行时资源叠加层 (RRO) 是一个软件包,可在运行时更改目标软件包的资源值。例如,安装在系统映像上的应用可能会根据资源值更改其行为。安装在不同分区中的 RRO 可能会在运行时更改应用的资源值,而不是在构建时硬编码资源值。
您可以启用或停用 RRO。您可以通过编程方式设置启用/停用状态,以切换 RRO 更改资源值的功能。RRO 默认处于停用状态(但静态 RRO 默认处于启用状态)。
处理位图
在 Android 应用中加载位图比较复杂,原因有很多种:
- 位图很容易就会耗尽应用的内存预算。例如,Pixel 手机上的相机拍摄的照片最大可达 4048x3036 像素(1,200 万像素)。如果使用的位图配置为
[ARGB_8888](https://developer.android.com/reference/android/graphics/Bitmap.Config?hl=zh-cn),这是 Android 2.3(API 级别 9)及更高版本的默认设置,将单张照片加载到内存大约需要 48 MB 内存(404830364 字节)。如此庞大的内存需求可能会立即耗尽该应用的所有可用内存。 - 在界面线程中加载位图会降低应用的性能,导致响应速度变慢,甚至会导致系统显示 ANR 消息。因此,在使用位图时,必须正确地管理线程处理。
- 如果您的应用将多个位图加载到内存中,您需要娴熟地管理内存和磁盘缓存。否则,应用界面的响应速度和流畅性可能会受到影响。
在大多数情况下,我们建议您使用 Glide 库获取、解码和显示应用中的位图。在处理这些任务以及与位图和 Android 上的其他图片相关的其他任务时,Glide 会将大部分的复杂工作抽象出来。如需了解如何使用和下载 Glide,请访问 GitHub 上的 Glilt 代码库。
您也可以选择直接使用 Android 框架中内置的较低级 API。如需详细了解如何执行此操作,请参阅高效加载较大位图、缓存位图和管理位图内存。
开发android界面
Jetpack Compose 是推荐 Android 的新工具包,使用更少的代码、强大的工具和直观的 Kotlin API 来构建原生界面。它可简化并加快界面开发,包括适应任何外形规格的设备,从智能手机、可折叠设备、平板电脑到电视和穿戴式设备。
Compose 提供了可与图形、动画和其他视觉元素搭配使用的预构建界面组件。
对于基于 View 的现有界面,您可以选择迁移到 Compose 或继续使用基于 View 的工作流。
Jetpack Compose
Jetpack Compose 是用于构建原生 Android 界面的新款工具包。您可以在此处找到有关使用 Compose 的最新信息。