精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在 I/O 看未來 | Jetpack 新功能一覽

谷歌開發者 ? 來源:未知 ? 2023-06-01 01:20 ? 次閱讀
作者 / Android 產品經理 Amanda Alexander

Android Jetpack現代 Android 開發 (Modern Android Development) 的關鍵組成支柱。Android Jetpack 套件包含超 100 個庫、工具及指南,可幫助開發者遵循最佳實踐、減少樣板代碼,并編寫可在各種 Android 版本和設備中一致運行的代碼,以便您可以專注于為應用構建特色功能。Google Play 上的大多數應用都使用 Jetpack 進行開發,事實上,在排行榜前 1,000 的應用中,超過 90% 的應用都使用了 Jetpack

  • Android Jetpackhttps://developer.android.google.cn/jetpack
  • 現代 Android 開發https://developer.android.google.cn/modern-android-development

下面我們將介紹 Jetpack 三大主要領域的近期更新亮點:

  • 架構庫及相關指南
  • 應用性能優化

  • 界面庫及相關指南

最后,我們會在本文結尾部分介紹一些其他關鍵更新。

架構庫及相關指南

應用架構庫和組件可確保應用的穩健性、可測試性及可維護性。

數據持久化

大多數應用都需要持久化本地狀態,無論是緩存結果、管理用戶輸入數據的本地列表,還是為界面中返回的數據提供支持。Room 是我們推薦的數據持久化層,它在 SQLite 的基礎上提供了一個抽象層,從而提高了平臺的易用性和安全性。

  • Room

    https://developer.android.google.cn/jetpack/androidx/releases/room

在 Room 中,我們引入了許多全新功能,比如新增 Upsert 操作 (如果不存在唯一性沖突,Upsert 會嘗試插入實體;如果存在沖突,Upsert 則會嘗試更新實體),以及支持在 KSP 中使用 Kotlin 值類。這些新功能可以在 Room 2.6-alpha 版本中使用,其中所有的庫源代碼均以 Kotlin 編寫,同時支持 Java 編程語言和 Kotlin 代碼生成。

  • Room 2.6-alpha 版本

    https://developer.android.google.cn/jetpack/androidx/releases/room#2.6.0-alpha01

使用 WorkManager 管理任務

借助 WorkManager 庫,您可以輕松調度必須可靠運行的可延期異步任務,例如上傳備份或分析。使用這些 API,您可以創建任務并將其提交給 WorkManager,以便在滿足工作約束條件時運行。 現在,您可以借助 WorkManager 在您已將 WorkRequest 加入隊列的情況下對其進行更新。在經常更改約束條件或需要實時更新工作器的大型應用中,這種操作通常十分必要。自 WorkManager 2.8.0 版起,您可以使用 updateWork() API 來實現這一目的,而無需進行手動取消并將新的 WorkRequest 加入隊列的步驟。這大大簡化了開發過程。

  • WorkManager 2.8.0 版

    https://developer.android.google.cn/jetpack/androidx/releases/work

DataStore

DataStore 庫是一個強大的數據存儲解決方案,可解決關于 SharedPreferences 的問題,并提供基于新式協程的 API。

  • DataStore

    https://developer.android.google.cn/jetpack/androidx/releases/datastore

DataStore 1.1 Alpha 版中,我們增加了一個備受期待的功能: 多進程支持。您可借此從多個進程訪問 DataStore,同時獲得進程之間的數據一致性保證。我們還推出了其他功能,包括新的存儲接口,可以切換 DataStore 的底層存儲機制 (我們已提供適用于 java.io 和 okio 的實現)。此外,我們還增加了對 Kotlin 多平臺的支持。

  • DataStore 1.1 Alpha 版

    https://developer.android.google.cn/jetpack/androidx/releases/datastore#1.1.0-alpha04

生命周期管理

生命周期感知型組件可執行操作來響應另一個組件 (如 activity 和 fragment) 的生命周期狀態的變化。這些組件有助于您寫出更有條理且往往更精簡的代碼,這樣的代碼更易于維護。

我們發布了 Lifecycle 2.6.0 穩定版,其中包括更多 Compose 集成。我們在 Flow 上新增了一個擴展方法,即 collectAsStateWithLifecycle()。該擴展從數據流中收集數據,并以可感知生命周期的方式將其最新值表示為 Compose 狀態。此外,該擴展將大量的類轉換為 Kotlin,并且仍然保留與之前版本的二進制兼容性。

  • Lifecycle 2.6.0

    https://developer.android.google.cn/jetpack/androidx/releases/lifecycle#2.6.0

  • 將其最新值表示為 Compose 狀態

    https://medium.com/androiddevelopers/consuming-flows-safely-in-jetpack-compose-cde014d0d5a3

預測性返回手勢

在 Android 13 中,我們為手機大屏設備和可折疊設備等 Android 設備引入了預測性返回手勢。該功能的發布歷程跨度將達多年;在完全實現后,該功能可讓用戶在完全完成某個返回手勢之前就能預覽此手勢完成后的目的地或其他結果,以便用戶能夠決定是繼續完成手勢還是留在當前視圖中。

Android 預測性返回的 Activity API 較為穩定,并且我們已更新使用受支持的系統返回回調函數的最佳實踐,包括 BackHandler (用于 Compose)、OnBackPressedCallback 或 OnBackInvokedCallback。我們很高興看到許多 Google 應用采用預測性返回功能,包括 Google Play 商店、Google 日歷、Google 新聞和 Google TV!

  • 最佳實踐

    https://developer.android.google.cn/guide/navigation/predictive-back-gesture#best-practices

在 Activity 1.8 Alpha 版中,除了之前用于處理返回手勢的 handleOnBackPressed() 回調,OnBackPressedCallback 類現包含新的預測性返回進度回調,可用于處理返回手勢的開始、整個手勢的進展以及返回手勢的取消。我們還添加了 ComponentActivity.setUpEdgeToEdge(),以向后兼容的方式輕松設置全屏顯示。

Activity更新帶來更加一致的

照片選擇器體驗

Android 照片選擇器是一個可瀏覽界面,用于展示用戶的媒體庫。在 Activity 1.7.0 版中,我們更新了照片選擇器 Activity 協定,以包含一個額外的回退,這允許原始設備制造商 (OEM) 和 Google Play 服務等系統應用通過實現回退操作,在更廣泛的 Android 設備和 API 級別上提供一致的照片選擇器體驗。如需了解詳細信息,您可以參閱相關文章

  • Activity 1.7.0 版

    https://developer.android.google.cn/jetpack/androidx/releases/activity#1.7.0

  • 相關文章

    https://android-developers.googleblog.com/2023/04/photo-picker-everywhere.html

漸進式數據提取

使用 Paging 庫,您可以加載和顯示小型數據片段,以改善網絡和系統資源消耗。應用數據可以在 RecyclerViews 或 Compose 延遲列表中逐步妥善地加載。

  • Paging

    https://developer.android.google.cn/jetpack/androidx/releases/paging

Paging Compose 1.0.0-alpha19 版支持所有的延遲布局,包括由 Wear 和 TV 庫提供的自定義布局。為了支持更多延遲布局,Paging Compose 目前在 LazyPagingItemsitemKeyitemContentType 中提供略低級別的擴展方法。這些 API 旨在幫助您實現 LazyColumnLazyVerticalGrid 及其 API 中的等效項 (如 HorizontalPager) 的已有標準項目 API 的 Key 和 contentType 參數。雖然這些變化確實讓 LazyColumnLazyRow 的示例增加了幾行內容,但它確保了所有延遲布局的一致性。

  • Paging Compose 1.0.0-alpha19 版

    https://developer.android.google.cn/jetpack/androidx/releases/paging#1.0.0-alpha19

應用性能優化

通過使用性能庫,您可以構建高性能的應用,并有針對性的優化以保持其性能表現,從而提供更好的最終用戶體驗。

縮短啟動時間

借助基準配置文件,您可以在安裝應用時部分編譯應用,以提高運行時和啟動的性能,并在新的工具和庫中獲得大幅提升:

  • 基準配置文件

    https://developer.android.google.cn/topic/performance/baselineprofiles/overview

Jetpack 在 Alpha 版本中提供了一個新的基準配置文件 Gradle 插件,該插件支持 AGP 8.0 及更高版本,并且您可以在 Studio Hedgehog (目前處于 Canary 版) 中輕松添加至項目。該插件可以將一系列任務自動化,如運行生成任務、從設備中提取配置文件,并定期或作為發布流程的一部分將其整合到您構建的版本中。

  • 基準配置文件 Gradle 插件

    https://developer.android.google.cn/topic/performance/baselineprofiles/create-baselineprofile#baseline-profile-gradle-plugin

  • 在 Studio Hedgehog (目前處于 Canary 版) 中輕松添加至項目

    https://developer.android.google.cn/studio/preview

借助該插件,您亦可在 AGP 8.1 版中輕松自動化新的 Dex 布局優化功能,以便您定義 BaselineProfileRule 測試。此類測試會收集啟動時使用的類,并將它們移至 MultiDex 應用中的 Dex 主要文件,從而提高局部性。在大型應用中,該插件可以讓冷啟動時間在基準配置文件的基礎上縮短 30%!

  • 新的 Dex 布局優化功能

    https://developer.android.google.cn/topic/performance/baselineprofiles/overview

Macrobenchmark 1.2 Alpha 版推出了許多新功能,比如 PowerMetric自定義軌跡指標 (Custom trace metrics)、在 Android 13 上無需 root 即可生成基準配置文件,以及在 Android 14 上無需清除應用數據即可重新編譯的功能。
  • PowerMetric

    https://developer.android.google.cn/reference/androidx/benchmark/macro/PowerMetric

  • 自定義軌跡指標

    https://developer.android.google.cn/reference/androidx/benchmark/macro/TraceMetric

您可以在《Android 性能更新》文章中深入了解所有相關內容。

  • Android 性能更新

    https://medium.com/androiddevelopers/whats-new-in-android-performance-google-i-o-2023-edition-21a1832c9fa3

界面庫及相關指南

我們對界面庫進行了幾項更新,以更好地支持大屏幕兼容性、可折疊設備和表情符號。

Jetpack Compose

Jetpack Compose 是 Android 用于構建原生界面的現代工具包,最近發布了 2023 年 5 月版本,其中不僅包括文本和布局的新功能、持續的性能改進、增強的工具支持、對大屏設備的更多支持,還包括更新后的指南。您可以閱讀《Jetpack Compose 的新功能》I/O 大會文章了解詳情。

  • 2023 年 5 月版本

    https://developer.android.google.cn/jetpack/androidx/releases/compose#2023.05.00

  • Jetpack Compose 的新功能

    https://android-developers.googleblog.com/2023/05/whats-new-in-jetpack-compose.html

Glance

Glance 庫現在推出了 1.0-beta 版,可以讓您使用 Jetpack Compose 開發針對 Android 手機、平板電腦和可折疊主屏幕優化的應用微件 (widget)。該庫使用 Kotlin 和 Compose,為您提供開箱即用的最新 Android widget 改進

  • Glance

    https://developer.android.google.cn/jetpack/androidx/releases/glance

  • 1.0-beta 版

    https://developer.android.google.cn/jetpack/androidx/releases/glance#version_100_2

  • 應用微件 (widget)

    https://developer.android.google.cn/develop/ui/views/appwidgets/overview

  • Android widget 改進

    https://developer.android.google.cn/about/versions/12/features/widgets

Compose for TV

TV 庫 Alpha 版發布后,您現在可以使用針對客廳體驗優化的組件為 Android TV 打造出色體驗。Compose for TV 可以讓 TV 應用享受 Jetpack Compose 的各項優勢,使您能夠以更少的代碼、更便捷的維護以及現代 Material 3 外觀直接構建應用。您可以參閱《Compose for TV》文章了解更多詳情。

  • TV 庫

    https://developer.android.google.cn/jetpack/androidx/releases/tv

  • Compose for TV

    https://android-developers.googleblog.com/2023/05/building-pixel-perfect-living-room-experiences-compose-for-tv.html

Material 3 for Compose

Material Design 3 是 Material Design 的新一代版本,幫助您構建富有表現力、生動個性的應用。Material 3 是 Android 應用的推薦設計系統,1.1 穩定版更是引入了激動人心的新功能,如底部動作條、日期和時間選擇器、搜索欄、提示,并增加了更多動作和交互支持。如需了解詳細信息,您可以參閱版本說明文章
  • Material Design 3

    https://m3.material.io/

  • 1.1 穩定版

    https://developer.android.google.cn/reference/kotlin/androidx/compose/material3/package-summary

  • 版本說明文章

    https://material.io/blog/material-3-compose-1-1

了解窗口狀態

新的 WindowManager 庫為 API 版本 14 及更高版本提供了一個通用式 API 接口,可幫助開發者為新的設備外形規格和多窗口環境提供支持。
  • WindowManager

    https://developer.android.google.cn/jetpack/androidx/releases/window

1.1.0-beta01 版中,Activity 嵌入和窗口布局增加了新的特性和功能,以便您優化大屏設備上的多 Activity 應用。Jetpack WindowManager 1.1 版本發布后,Activity 嵌入 API 將不再是實驗性功能。我們建議開發者為多 Activity 應用采用此 API 以提供更好的大屏幕布局。如需了解詳細信息和遷移步驟,您可以參閱《WindowManager 1.1.0-beta01 新功能詳解》。
  • 1.1.0-beta01 版

    https://developer.android.google.cn/jetpack/androidx/releases/window#1.1.0-beta01

其他關鍵更新

Kotlin 多平臺

我們繼續對使用 Kotlin 多平臺在 Android 和 iOS 之間共享業務邏輯進行實驗。我們更新了 Collections 1.3.0-alpha03 版DataStore 1.1.0-alpha02 版,以便您現在可以在 KMM 項目中使用這些庫。如果您在應用中使用 Kotlin 多平臺,我們期待收到您的反饋

  • Kotlin 多平臺

    https://developer.android.google.cn/kotlin/multiplatform

  • Collections 1.3.0-alpha03 版

    https://developer.android.google.cn/jetpack/androidx/releases/collection#1.3.0-alpha03

  • DataStore 1.1.0-alpha02 版

    https://developer.android.google.cn/jetpack/androidx/releases/datastore#1.1.0-alpha02

  • KMM

    https://kotlinlang.org/docs/multiplatform-mobile-getting-started.html

  • 反饋

    https://issuetracker.google.com/issues/new?component=1337890&template=1803002

以上內容是過去幾個月中 Jetpack 的所有重要更新回顧,希望這些內容可以幫助您更高效地構建應用。如需了解每個 Jetpack 庫的更多詳情,您可以查看 AndroidX 版本說明;如需快速找到相關庫,您可以使用 API 選取器;如需了解其他精彩內容,您可以觀看 Google I/O 大會演講視頻

  • AndroidX 版本說明

    https://developer.android.google.cn/jetpack/androidx/versions

  • API 選取器

    https://developer.android.google.cn/jetpack/androidx/explorer?case=popular

  • 觀看 Google I/O 大會演講視頻

    https://io.google/2023/program/

Java 是 Oracle 和/或其附屬公司的商標或注冊商標。

4290f534-ffd7-11ed-90ce-dac502259ad0.gif?點擊屏末||即刻了解更多 Android Jetpack 相關信息

42990508-ffd7-11ed-90ce-dac502259ad0.png

42a4aaac-ffd7-11ed-90ce-dac502259ad0.png

42b06004-ffd7-11ed-90ce-dac502259ad0.png


原文標題:在 I/O 看未來 | Jetpack 新功能一覽

文章出處:【微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 谷歌
    +關注

    關注

    27

    文章

    6142

    瀏覽量

    105113

原文標題:在 I/O 看未來 | Jetpack 新功能一覽

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    解析NVIDIA JetPack 6.1的新功能

    NVIDIA JetPack一直在不斷發展,通過提供量身定制的先進軟件滿足邊緣 AI 和機器人開發者日益增長的需求。每次發布的 JetPack 新版本都會升級性能、加入新功能與優化現有
    的頭像 發表于 11-28 10:41 ?65次閱讀
    解析NVIDIA <b class='flag-5'>JetPack</b> 6.1的<b class='flag-5'>新功能</b>

    淺談Xpedition 2409版本的新功能

    《創新不止|Xpedition 2409版本新功能揭秘(上)》文中,我們了解了Xpedition 2409版本的部分改進部分。今天,我們繼續Xpedition 2409新版本給我
    的頭像 發表于 10-31 15:33 ?387次閱讀

    直接I/O

    電子發燒友網站提供《直接I/O庫.pdf》資料免費下載
    發表于 10-14 10:55 ?0次下載
    直接<b class='flag-5'>I</b>/<b class='flag-5'>O</b>庫

    E系列I/O模塊光伏制絨設備的應用

    光伏設備產線較長,各分布點若采用PLC+IO擴展的方式將會大大增加系統成本及開發難度,方案推薦采用E系列遠程I/O模塊,僅需和遠程PLC通過總線/工業以太網連接,就可輕松實現分布式I/O
    的頭像 發表于 09-26 08:07 ?327次閱讀
    E系列<b class='flag-5'>I</b>/<b class='flag-5'>O</b>模塊<b class='flag-5'>在</b>光伏制絨設備的應用

    物聯網中常見的I/O擴展電路設計方案_IIC I/O擴展芯片

    物聯網系統中為什么要使用 IIC I/O擴展芯片 ??物聯網系統中使用IIC(也稱為I2C)I/O
    的頭像 發表于 09-24 11:29 ?348次閱讀
    物聯網中常見的<b class='flag-5'>I</b>/<b class='flag-5'>O</b>擴展電路設計方案_IIC <b class='flag-5'>I</b>/<b class='flag-5'>O</b>擴展芯片

    低成本MSP430 MCU中集成I2C I/O擴展器

    電子發燒友網站提供《低成本MSP430 MCU中集成I2C I/O擴展器.pdf》資料免費下載
    發表于 09-24 10:56 ?0次下載
    <b class='flag-5'>在</b>低成本MSP430 MCU中集成<b class='flag-5'>I</b>2C <b class='flag-5'>I</b>/<b class='flag-5'>O</b>擴展器

    遠程I/O模塊不同領域的應用

    在當今快速發展的工業自動化領域,遠程輸入/輸出(I/O)模塊正逐漸成為不可或缺的核心組件,本文將探討遠程I/O模塊不同領域的廣泛應用。 工
    的頭像 發表于 09-20 16:43 ?356次閱讀

    I/O模塊的主要作用有哪些

    遠程I/O模塊是種使能遠程數據采集和控制的設備。通過使用網絡技術,如現場總線、以太網等,遠程I/O模塊能夠將輸入和輸出信號傳遞給控制系統。
    的頭像 發表于 09-20 16:41 ?393次閱讀

    谷歌Wear OS智能手表更新一覽

    去年的 Google I/O 大會上,我們推出了適用于 Wear OS 的 "表盤格式 (Watch Face Format)"。今年,作為我們與 Samsung 持續合作
    的頭像 發表于 09-09 16:05 ?456次閱讀

    NVIDIA JetPack 6.0版本的關鍵功能

    NVIDIA JetPack SDK 支持 NVIDIA Jetson 模塊,為構建端到端加速 AI 應用提供全面的解決方案。JetPack 6 通過微服務和系列新功能,擴展了 Je
    的頭像 發表于 09-09 10:18 ?352次閱讀
    NVIDIA <b class='flag-5'>JetPack</b> 6.0版本的關鍵<b class='flag-5'>功能</b>

    Jetpack Compose和設備類型的三大重要更新

    2024 年 Google I/O 大會上我們分享了大量更新和公告,幫助開發者提升工作效率。了解 2024 年 Google I/O 大會上有關 J
    的頭像 發表于 08-09 17:07 ?629次閱讀

    PLC的I/O點數是什么意思

    工業自動化領域中,可編程邏輯控制器(PLC)扮演著至關重要的角色。PLC以其高可靠性、易編程性和強大的控制功能,廣泛應用于各種自動化系統中。而在PLC的性能參數中,I/O點數是
    的頭像 發表于 06-27 11:15 ?3638次閱讀

    LOTO示波器軟件新增導功能

    的客戶通過導找到各個功能的入口。同時,隨著LOTO示波器軟件的功能越來越多,這種導的方式能容納更多的新功能。 邏輯分析儀和信號發生器
    發表于 05-28 10:32

    軟件可配置模擬 I/O 的設計理念

    作者: Kenton Williston 曾幾何時,模擬 I/O 就是最專業、功能最固定的硬件。例如,電流驅動器和電壓傳感器是完全不同的零件,試圖顛倒其角色可謂是荒謬至極。 軟件可配置模擬 I
    的頭像 發表于 05-05 11:10 ?795次閱讀
    軟件可配置模擬 <b class='flag-5'>I</b>/<b class='flag-5'>O</b> 的設計理念

    FANUC外部I/O點數不夠用了怎么辦?可以擴展I/O點數嗎?

    FANUC外部I/O點數不夠用了怎么辦?可以擴展I/O點數嗎? 擴展FANUC的外部I/O點數是
    的頭像 發表于 02-18 15:21 ?1722次閱讀