AOSP-Android open source project
Android 是適用于各種不同規(guī)格設(shè)備的操作系統(tǒng)。任何人都可以通過(guò) Android 開(kāi)源項(xiàng)目 (AOSP) 查看 Android 的文檔和源代碼。您可以使用 AOSP 為自己的設(shè)備創(chuàng)建自定義 Android OS 變體。
AOSP 的設(shè)計(jì)可確保不存在一個(gè)集中瓶頸,即沒(méi)有任何行業(yè)參與者可一手限制或控制其他參與者的創(chuàng)新。因此,AOSP 是一款功能完善且達(dá)到生產(chǎn)質(zhì)量的開(kāi)發(fā)者產(chǎn)品,其源代碼可以開(kāi)放自定義和移植。
本部分文檔可幫助新 AOSP 開(kāi)發(fā)者開(kāi)始使用該平臺(tái),并執(zhí)行基本的開(kāi)發(fā)任務(wù)。
Android 汽車(chē)應(yīng)用
Android Automotive 是一個(gè)可自定義程度極高的全棧開(kāi)源平臺(tái),可直接在車(chē)載硬件上運(yùn)行。
Android Automotive 是一個(gè)基礎(chǔ) Android 平臺(tái),可運(yùn)行預(yù)裝的 IVI 系統(tǒng) Android 應(yīng)用程序以及可選的第二方和第三方 Android 應(yīng)用程序。
Android for Cars
將您的應(yīng)用部署到搭載 Android Auto 或 Android Automotive OS 的車(chē)輛上。使用一種適合這兩種情況的應(yīng)用架構(gòu),讓每個(gè)用戶(hù)都可以享受應(yīng)用帶來(lái)的樂(lè)趣。
MFC旋控器
旋控器是車(chē)載中控臺(tái)中的一個(gè)旋鈕及其四周的按鈕,用于控制車(chē)機(jī)
有關(guān)防止駕駛員分心的準(zhǔn)則
當(dāng) Android Automotive 應(yīng)用遵循下文所述的《有關(guān)防止駕駛員分心的準(zhǔn)則》(DDG) 時(shí),應(yīng)用在車(chē)輛移動(dòng)時(shí)可以在 HU 上運(yùn)行。DDG 包含由 Google 提供的基準(zhǔn)建議,旨在降低對(duì)駕駛員的干擾。
符合《有關(guān)防止駕駛員分心的準(zhǔn)則》的應(yīng)用可以標(biāo)記為“經(jīng)過(guò)防分心優(yōu)化”。本頁(yè)面將詳細(xì)介紹如何將應(yīng)用標(biāo)記為“經(jīng)過(guò)防分心優(yōu)化”,以便 Android 平臺(tái)能夠讓?xiě)?yīng)用在用戶(hù)體驗(yàn)受限的狀態(tài)下運(yùn)行。如需詳細(xì)了解:
- 汽車(chē)用戶(hù)體驗(yàn)限制,請(qǐng)參閱汽車(chē)用戶(hù)體驗(yàn)限制。
- 使用駕駛狀態(tài),請(qǐng)參閱使用駕駛狀態(tài)和用戶(hù)體驗(yàn)限制。
RRO 在運(yùn)行時(shí)更改應(yīng)用資源的值
運(yùn)行時(shí)資源疊加層 (RRO) 是一個(gè)軟件包,可在運(yùn)行時(shí)更改目標(biāo)軟件包的資源值。例如,安裝在系統(tǒng)映像上的應(yīng)用可能會(huì)根據(jù)資源值更改其行為。安裝在不同分區(qū)中的 RRO 可能會(huì)在運(yùn)行時(shí)更改應(yīng)用的資源值,而不是在構(gòu)建時(shí)硬編碼資源值。
您可以啟用或停用 RRO。您可以通過(guò)編程方式設(shè)置啟用/停用狀態(tài),以切換 RRO 更改資源值的功能。RRO 默認(rèn)處于停用狀態(tài)(但靜態(tài) RRO 默認(rèn)處于啟用狀態(tài))。
處理位圖
在 Android 應(yīng)用中加載位圖比較復(fù)雜,原因有很多種:
- 位圖很容易就會(huì)耗盡應(yīng)用的內(nèi)存預(yù)算。例如,Pixel 手機(jī)上的相機(jī)拍攝的照片最大可達(dá) 4048x3036 像素(1,200 萬(wàn)像素)。如果使用的位圖配置為
[ARGB_8888](https://developer.android.com/reference/android/graphics/Bitmap.Config?hl=zh-cn),這是 Android 2.3(API 級(jí)別 9)及更高版本的默認(rèn)設(shè)置,將單張照片加載到內(nèi)存大約需要 48 MB 內(nèi)存(404830364 字節(jié))。如此龐大的內(nèi)存需求可能會(huì)立即耗盡該應(yīng)用的所有可用內(nèi)存。 - 在界面線程中加載位圖會(huì)降低應(yīng)用的性能,導(dǎo)致響應(yīng)速度變慢,甚至?xí)?dǎo)致系統(tǒng)顯示 ANR 消息。因此,在使用位圖時(shí),必須正確地管理線程處理。
- 如果您的應(yīng)用將多個(gè)位圖加載到內(nèi)存中,您需要嫻熟地管理內(nèi)存和磁盤(pán)緩存。否則,應(yīng)用界面的響應(yīng)速度和流暢性可能會(huì)受到影響。
在大多數(shù)情況下,我們建議您使用 Glide 庫(kù)獲取、解碼和顯示應(yīng)用中的位圖。在處理這些任務(wù)以及與位圖和 Android 上的其他圖片相關(guān)的其他任務(wù)時(shí),Glide 會(huì)將大部分的復(fù)雜工作抽象出來(lái)。如需了解如何使用和下載 Glide,請(qǐng)?jiān)L問(wèn) GitHub 上的 Glilt 代碼庫(kù)。
您也可以選擇直接使用 Android 框架中內(nèi)置的較低級(jí) API。如需詳細(xì)了解如何執(zhí)行此操作,請(qǐng)參閱高效加載較大位圖、緩存位圖和管理位圖內(nèi)存。
開(kāi)發(fā)android界面
Jetpack Compose 是推薦 Android 的新工具包,使用更少的代碼、強(qiáng)大的工具和直觀的 Kotlin API 來(lái)構(gòu)建原生界面。它可簡(jiǎn)化并加快界面開(kāi)發(fā),包括適應(yīng)任何外形規(guī)格的設(shè)備,從智能手機(jī)、可折疊設(shè)備、平板電腦到電視和穿戴式設(shè)備。
Compose 提供了可與圖形、動(dòng)畫(huà)和其他視覺(jué)元素搭配使用的預(yù)構(gòu)建界面組件。
對(duì)于基于 View 的現(xiàn)有界面,您可以選擇遷移到 Compose 或繼續(xù)使用基于 View 的工作流。
Jetpack Compose
Jetpack Compose 是用于構(gòu)建原生 Android 界面的新款工具包。您可以在此處找到有關(guān)使用 Compose 的最新信息。