在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基準(zhǔn)配置文件將應(yīng)用啟動(dòng)時(shí)間縮短最高40%

谷歌開發(fā)者 ? 來源:谷歌開發(fā)者 ? 作者:谷歌開發(fā)者 ? 2022-03-11 09:46 ? 次閱讀

啟動(dòng)時(shí)間的重要性

應(yīng)用性能和用戶參與度的相關(guān)性在許多應(yīng)用中都有所體現(xiàn)。用戶希望應(yīng)用響應(yīng)迅速且能快速加載,而啟動(dòng)時(shí)間就是衡量應(yīng)用性能和質(zhì)量的主要指標(biāo)之一。

我們的一些合作伙伴已經(jīng)投入大量時(shí)間和資源來優(yōu)化應(yīng)用啟動(dòng)情況。例如,您可以閱讀了解 Facebook 的優(yōu)化歷程。

本文我們將討論基準(zhǔn)配置文件和其改善應(yīng)用和開發(fā)庫性能的方式,包括它們?nèi)绾螌?dòng)時(shí)間縮短了最高 40%。雖然本文側(cè)重于應(yīng)用啟動(dòng),但是基準(zhǔn)配置文件也可以極大改善卡頓情況。

回顧

Android 9 (API 級(jí)別 28) 在 Play Cloud 中引入了 ART 優(yōu)化配置文件,以縮短應(yīng)用啟動(dòng)時(shí)間。在云配置文件可用時(shí),我們看到應(yīng)用的冷啟動(dòng)在不同設(shè)備上平均快了至少 15%。

配置文件的工作原理

當(dāng)應(yīng)用在安裝或更新后首次啟動(dòng)時(shí),它的代碼以解釋模式運(yùn)行,直到被 JIT。由于存儲(chǔ)和加載完全編譯的應(yīng)用所需的開銷較大,自 Android 6 開始,Java 和 Kotlin 代碼在 APK 中編譯為 dex 字節(jié)碼,而不是完全編譯為機(jī)器代碼。應(yīng)用中經(jīng)常被使用以及用于應(yīng)用啟動(dòng)的類和方法,都會(huì)被寫入配置文件。一旦設(shè)備進(jìn)入閑置模式,ART 就基于這些配置文件編譯應(yīng)用,以加快后續(xù)的應(yīng)用啟動(dòng)。

從 Android 9 (API 級(jí)別 28) 開始,Google Play 也會(huì)提供云配置文件。當(dāng)應(yīng)用在設(shè)備上運(yùn)行時(shí),ART 生成的配置文件由 Play 商店應(yīng)用上傳并在云端聚合。為應(yīng)用上傳了足夠的配置文件后,Play 應(yīng)用將使用聚合的配置文件來進(jìn)行后續(xù)的安裝。

存在的問題

雖然云配置文件在可用時(shí)很有幫助,但并非總是在應(yīng)用安裝后即可使用。收集和聚合配置文件通常要幾天時(shí)間,而許多應(yīng)用會(huì)每周更新,這就是問題所在。而且許多用戶會(huì)在云配置文件可用之前安裝更新。Google Android 團(tuán)隊(duì)開始尋找其他方法來改善配置文件延遲。

解決方案

基準(zhǔn)配置文件是提供配置文件的一個(gè)全新機(jī)制,可在 Android 7 (API 級(jí)別 24) 和更高版本上使用?;鶞?zhǔn)配置文件是由 Android Gradle 插件生成的 ART 配置文件,使用可由應(yīng)用和庫提供的人類可讀懂的配置文件格式。示例如下:?

HSPLandroidx/compose/runtime/ComposerImpl;->updateValue(Ljava/lang/Object;)VHSPLandroidx/compose/runtime/ComposerImpl;->updatedNodeCount(I)IHLandroidx/compose/runtime/ComposerImpl;->validateNodeExpected()VPLandroidx/compose/runtime/CompositionImpl;->applyChanges()VHLandroidx/compose/runtime/ComposerKt;->findLocation(Ljava/util/List;I)I

二進(jìn)制文件存儲(chǔ)在 APK 資源目錄中的特定位置 (assets/dexopt/baseline.prof)。

基準(zhǔn)配置文件在構(gòu)建時(shí)創(chuàng)建,作為 APK 的一部分發(fā)送到 Play 中,然后在下載應(yīng)用時(shí),從 Play 發(fā)送至用戶。基準(zhǔn)配置文件在云配置文件尚不可用時(shí),填補(bǔ)了 ART 云配置文件流水線中的空白,在云配置文件可用時(shí),則會(huì)自動(dòng)與其合并?;鶞?zhǔn)配置文件最大的優(yōu)勢(shì)之一是可以在本地開發(fā)和評(píng)估,這樣開發(fā)者可以看到真實(shí)的最終用戶性能改進(jìn)情況。它們還支持較低的 Android 版本 (7 和更高版本),而云配置文件只在 Android 9 及以上版本中提供。

影響

應(yīng)用開發(fā)者

2021 年初,Google 地圖的發(fā)布周期從兩周改為一周。更頻繁的更新意味著更頻繁地舍棄本地預(yù)編譯,以及更多用戶在沒有 Play Cloud 配置文件的情況下,遇到啟動(dòng)緩慢的情況。通過使用基準(zhǔn)配置文件,Google 地圖將平均啟動(dòng)時(shí)間縮短了 30%,搜索速度相應(yīng)增長(zhǎng)了 2.4%,對(duì)于這樣一個(gè)成熟的應(yīng)用來說,這是巨大的性能改進(jìn)。

庫開發(fā)者

庫中的代碼與應(yīng)用中的代碼類似,默認(rèn)都不是完全編譯,如果它在啟動(dòng)的關(guān)鍵路徑中發(fā)揮重要作用,則可能存在問題。

Jetpack Compose 是一個(gè)不屬于 Android 系統(tǒng)映像的界面庫,因此與大多數(shù) Android 視圖工具包代碼不同,它在安裝時(shí)并未完全編譯。這導(dǎo)致了性能問題,尤其是在應(yīng)用前幾次冷啟動(dòng)時(shí)。

為解決這一問題,Compose 使用了配置文件安裝程序。該程序附帶了基準(zhǔn)配置文件規(guī)則,可以縮短 Compose 應(yīng)用的啟動(dòng)時(shí)間并減少卡頓。

Google Play 商店的搜索結(jié)果頁已經(jīng)使用 Compose 進(jìn)行重寫。在集成 Compose 的基準(zhǔn)配置文件規(guī)則后,渲染初始搜索結(jié)果頁 (包括圖像) 的時(shí)間縮短了約 40%。

Android 團(tuán)隊(duì)還將基準(zhǔn)配置文件添加到了相關(guān)的 AndroidX 庫。這可讓所有使用這些庫的 Android 應(yīng)用受益。ConstraintLayout 發(fā)現(xiàn)附帶的配置文件規(guī)則將動(dòng)畫幀時(shí)間縮短了超過 1 毫秒。

如何使用基準(zhǔn)配置文件

創(chuàng)建自定義基準(zhǔn)配置文件

所有應(yīng)用和庫開發(fā)者都可以從添加基準(zhǔn)配置文件中獲益。理想狀態(tài)下,開發(fā)者為最關(guān)鍵的用戶旅程創(chuàng)建配置文件,來確保不管云配置文件是否可用,這些旅程都擁有始終快速的性能。您可以查看詳細(xì)指南,了解如何為應(yīng)用和庫開發(fā)者設(shè)置基準(zhǔn)配置文件。

更新依賴項(xiàng)

如果您還未準(zhǔn)備好為應(yīng)用生成基準(zhǔn)配置文件,您仍然可以受益于更新依賴項(xiàng)。如果您使用 Android Gradle 插件 7.1.0-alpha05 或更高版本構(gòu)建應(yīng)用,您將獲得包含在 APK 中的基準(zhǔn)配置文件,這些配置文件已經(jīng)由庫 (例如 Jetpack) 提供。Google Play 在安裝時(shí)借助這些配置文件編譯應(yīng)用。您可以將這些配置文件作為構(gòu)建應(yīng)用的補(bǔ)充部分。

衡量改進(jìn)情況

不要忘記衡量應(yīng)用改進(jìn)情況。您可以按照步驟操作,了解如何在本地衡量使用生成的配置文件的啟動(dòng)情況,也歡迎您持續(xù)關(guān)注我們了解更多最新內(nèi)容。

原文標(biāo)題:通過基準(zhǔn)配置文件改善應(yīng)用性能

文章出處:【微信公眾號(hào):谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3939

    瀏覽量

    127646
  • 工作原理
    +關(guān)注

    關(guān)注

    4

    文章

    277

    瀏覽量

    37792

原文標(biāo)題:通過基準(zhǔn)配置文件改善應(yīng)用性能

文章出處:【微信號(hào):Google_Developers,微信公眾號(hào):谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EE-359:ADSP-CM40x啟動(dòng)時(shí)間優(yōu)化和器件初始化

    電子發(fā)燒友網(wǎng)站提供《EE-359:ADSP-CM40x啟動(dòng)時(shí)間優(yōu)化和器件初始化.pdf》資料免費(fèi)下載
    發(fā)表于 01-13 16:33 ?0次下載
    EE-359:ADSP-CM<b class='flag-5'>40</b>x<b class='flag-5'>啟動(dòng)時(shí)間</b>優(yōu)化和器件初始化

    請(qǐng)問ADS1220內(nèi)部基準(zhǔn)源的啟動(dòng)時(shí)間是多長(zhǎng)?

    請(qǐng)問一下,哪位用過ADS1220,內(nèi)部基準(zhǔn)源的啟動(dòng)時(shí)間,手冊(cè)上沒有找到。能否提供一下。 之前在論壇上發(fā)了帖子,ADS1220斷電重啟,開始采集的時(shí)候,會(huì)有一段不穩(wěn)定階段,后來經(jīng)過測(cè)試發(fā)現(xiàn),如果執(zhí)行
    發(fā)表于 01-09 07:53

    討論影響現(xiàn)代LDO穩(wěn)壓器總啟動(dòng)時(shí)間的因素,揭秘LDO開通(啟動(dòng))時(shí)間

    線性穩(wěn)壓器開通時(shí)間簡(jiǎn)介 LDO 穩(wěn)壓器開通時(shí)間是延遲時(shí)間和上升時(shí)間總和。延遲時(shí)間短,取決于器件啟動(dòng)
    的頭像 發(fā)表于 01-07 18:30 ?713次閱讀
    討論影響現(xiàn)代LDO穩(wěn)壓器總<b class='flag-5'>啟動(dòng)時(shí)間</b>的因素,揭秘LDO開通(<b class='flag-5'>啟動(dòng)</b>)<b class='flag-5'>時(shí)間</b>

    EE-308:估算和優(yōu)化Blackfin處理器的啟動(dòng)時(shí)間

    電子發(fā)燒友網(wǎng)站提供《EE-308:估算和優(yōu)化Blackfin處理器的啟動(dòng)時(shí)間.pdf》資料免費(fèi)下載
    發(fā)表于 01-05 09:52 ?0次下載
    EE-308:估算和優(yōu)化Blackfin處理器的<b class='flag-5'>啟動(dòng)時(shí)間</b>

    linux網(wǎng)卡配置文件

    網(wǎng)卡配置文件 ? ? 網(wǎng)卡目錄[root@localhost opt]# ls /etc/sysconfig/network-scripts/網(wǎng)卡文件名字,和我們ifconfig看到的一樣
    的頭像 發(fā)表于 12-10 10:09 ?259次閱讀

    springboot的項(xiàng)目如何既要用jar包啟動(dòng),同時(shí)還可以為不同的機(jī)房設(shè)置不同的配置文件

    作者:京東科技 李意文 1、首先先把配置文件從jar中抽離 示例代碼: ? org.apache.maven.plugins maven-jar-plugin 3.2.0
    的頭像 發(fā)表于 10-19 16:48 ?555次閱讀
    springboot的項(xiàng)目如何既要用jar包<b class='flag-5'>啟動(dòng)</b>,同時(shí)還可以為不同的機(jī)房設(shè)置不同的<b class='flag-5'>配置文件</b>

    HID over GATT配置文件(HOGP)低功耗藍(lán)牙

    電子發(fā)燒友網(wǎng)站提供《HID over GATT配置文件(HOGP)低功耗藍(lán)牙.pdf》資料免費(fèi)下載
    發(fā)表于 09-26 11:01 ?1次下載
    HID over GATT<b class='flag-5'>配置文件</b>(HOGP)低功耗藍(lán)牙

    確定LDO的任務(wù)配置文件兼容性

    電子發(fā)燒友網(wǎng)站提供《確定LDO的任務(wù)配置文件兼容性.pdf》資料免費(fèi)下載
    發(fā)表于 09-24 10:44 ?0次下載
    確定LDO的任務(wù)<b class='flag-5'>配置文件</b>兼容性

    影響晶振啟動(dòng)時(shí)間的因素

    晶振的啟動(dòng)時(shí)間是指晶振通電到進(jìn)入穩(wěn)定振蕩狀態(tài)所需的時(shí)間。這個(gè)時(shí)間通常由晶振的內(nèi)部特性和外部電路決定。今天凱擎小妹帶大家具體了解一下影響啟動(dòng)時(shí)間大小的因素吧!
    的頭像 發(fā)表于 09-06 11:10 ?445次閱讀

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型應(yīng)用配置文件

    應(yīng)用配置文件中包含應(yīng)用配置信息、應(yīng)用組件信息、權(quán)限信息、開發(fā)者自定義信息等,這些信息在編譯構(gòu)建、分發(fā)和運(yùn)行解決分別提供給編譯工具、應(yīng)用市場(chǎng)和操作系統(tǒng)使用。
    的頭像 發(fā)表于 06-24 14:49 ?376次閱讀
    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型應(yīng)用<b class='flag-5'>配置文件</b>

    啟動(dòng)啟動(dòng)時(shí),啟動(dòng)電流大,如何調(diào)整

    啟動(dòng)器(Soft Starter)是一種用于電機(jī)啟動(dòng)的電力電子設(shè)備,它可以有效地減少啟動(dòng)時(shí)的電流沖擊,從而保護(hù)電機(jī)和電網(wǎng)。然而,在某些情況下,軟啟動(dòng)
    的頭像 發(fā)表于 06-18 14:09 ?4887次閱讀

    鴻蒙開發(fā):【Stage模型應(yīng)用配置文件

    應(yīng)用配置文件中包含應(yīng)用配置信息、應(yīng)用組件信息、權(quán)限信息、開發(fā)者自定義信息等,這些信息在編譯構(gòu)建、分發(fā)和運(yùn)行解決分別提供給編譯工具、應(yīng)用市場(chǎng)和操作系統(tǒng)使用。
    的頭像 發(fā)表于 06-15 09:15 ?1729次閱讀
    鴻蒙開發(fā):【Stage模型應(yīng)用<b class='flag-5'>配置文件</b>】

    在i.MXRT1xxx系列上用NAND型啟動(dòng)設(shè)備時(shí)可用兩級(jí)設(shè)計(jì)縮短啟動(dòng)時(shí)間

    去年痞子衡寫過一篇騷操作文章 《借助i.MXRT10xx系列INIT_VTOR功能可以縮短程序熱重啟時(shí)間》,這對(duì)于 NAND 型啟動(dòng)設(shè)備上程序熱重啟時(shí)間
    的頭像 發(fā)表于 05-01 09:19 ?798次閱讀
    在i.MXRT1xxx系列上用NAND型<b class='flag-5'>啟動(dòng)</b>設(shè)備時(shí)可用兩級(jí)設(shè)計(jì)<b class='flag-5'>縮短</b><b class='flag-5'>啟動(dòng)時(shí)間</b>

    i.MX 9系列-啟動(dòng)時(shí)間測(cè)量方法應(yīng)用指南

    電子發(fā)燒友網(wǎng)站提供《i.MX 9系列-啟動(dòng)時(shí)間測(cè)量方法應(yīng)用指南.pdf》資料免費(fèi)下載
    發(fā)表于 02-20 10:37 ?0次下載
    i.MX 9系列-<b class='flag-5'>啟動(dòng)時(shí)間</b>測(cè)量方法應(yīng)用指南

    開關(guān)電源啟動(dòng)性能檢測(cè)之啟動(dòng)時(shí)間測(cè)試方法

    開關(guān)電源啟動(dòng)時(shí)間測(cè)試是指打開電源后,測(cè)試電源輸出電壓開始變化到恢復(fù)穩(wěn)定的這段時(shí)間。啟動(dòng)時(shí)間測(cè)試用來評(píng)估開關(guān)電源的啟動(dòng)性能。在一些需要快速響應(yīng)的設(shè)備中,如果電源
    的頭像 發(fā)表于 01-22 16:25 ?1483次閱讀
    主站蜘蛛池模板: 国产嫩草影院在线观看| jlzzjlzzjlzz日本亚洲| 色婷丁香| 婷婷香蕉| 日本一区视频在线观看| 中文字幕123| 男男np主受高h啪啪肉| 奇米影视亚洲四色8888| hdhdhd69日本xxx| 亚洲国产一区二区在线| 日韩亚洲人成在线综合日本| 视频在线观看免费网址| 亚洲免费资源| 亚洲天堂.com| 中文字幕乱码人成乱码在线视频| ccav在线永久免费看| 男男np主受高h啪啪肉| 在线精品一区二区三区| 五月婷婷六月婷婷| 青娱乐啪啪| 国产性较精品视频免费| 黄色免费看视频| 99草视频| 久久天天| 国产在线精品香蕉综合网一区| 91一级片| 国模于子涵啪啪大胆| 日本在线不卡免| 性色网站| 色播丁香| 精品国产影院| 国产你懂的在线| 天天躁天天狠天天透| 福利视频亚洲| 狠狠gao| 日本天堂网在线观看| 国产福利网站| 亚洲最大的成网4438| 国产重口老太和小伙乱视频| 在线观看亚洲一区| 添人人躁日日躁夜夜躁夜夜揉|