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

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

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

讓您的應(yīng)用為16KB頁(yè)面大小的設(shè)備做好準(zhǔn)備

谷歌開(kāi)發(fā)者 ? 來(lái)源:谷歌開(kāi)發(fā)者 ? 2025-01-07 09:26 ? 次閱讀

作者 / 開(kāi)發(fā)者關(guān)系工程師 Yacine Rezgui,資深軟件工程師 Steven Moreland

Android 正在不斷發(fā)展,以提供更快速、性能更佳的用戶體驗(yàn)。其中一項(xiàng)關(guān)鍵改進(jìn)是使用了 16 KB 的內(nèi)存頁(yè)面大小。這一變化使得操作系統(tǒng)能夠更高效地管理內(nèi)存,從而為應(yīng)用和游戲帶來(lái)顯著的性能提升 (提升幅度為 5-10%)。我們?cè)凇稙?Android 添加 16 KB 頁(yè)面大小》一文中提供了深入的技術(shù)解析,并重點(diǎn)展示了性能改進(jìn)。

為了幫助您在 16 KB 頁(yè)面大小的設(shè)備上測(cè)試應(yīng)用,此功能已作為開(kāi)發(fā)者選項(xiàng)在 Google Pixel 8 和 9 設(shè)備上提供,三星設(shè)備也將很快提供類(lèi)似的支持。此外,小米、vivo 及其他 Android 原始設(shè)備制造商 (OEM) 也將陸續(xù)提供。 為了確保與 16 KB 頁(yè)面大小設(shè)備的兼容性,使用原生代碼的應(yīng)用 (無(wú)論是直接使用還是通過(guò)庫(kù)或 SDK 使用) 可能需要重新構(gòu)建。不過(guò),這次過(guò)渡比之前從 32 位到 64 位架構(gòu)的轉(zhuǎn)變要容易得多。本文將指導(dǎo)您完成為即將推出的設(shè)備做好應(yīng)用準(zhǔn)備的必要步驟。新一代設(shè)備正在陸續(xù)推出,預(yù)計(jì)首批支持 16 KB 頁(yè)面大小的機(jī)型將在未來(lái)幾年內(nèi)問(wèn)世。

為 16 KB 做好準(zhǔn)備:

SDK 開(kāi)發(fā)者

如果您開(kāi)發(fā)自己的 SDK 和庫(kù),我們建議您盡快更新以兼容 16 KB 頁(yè)面大小,并在使用 16 KB 頁(yè)面大小的設(shè)備上進(jìn)行測(cè)試。這將為應(yīng)用開(kāi)發(fā)者留出充足的時(shí)間來(lái)進(jìn)行必要的更改。您可以注冊(cè) Google Play SDK 管理中心,確保將來(lái)能及時(shí)收到此類(lèi)重要通知。

為 16 KB 做好準(zhǔn)備:

不使用原生代碼的應(yīng)用開(kāi)發(fā)者

完全使用 Kotlin 或 Java 編程語(yǔ)言編寫(xiě)的應(yīng)用,并且所有依賴(lài)項(xiàng)也均使用這些語(yǔ)言構(gòu)建的應(yīng)用,將無(wú)需進(jìn)行任何更改即可正常運(yùn)行。

為 16 KB 做好準(zhǔn)備:

使用原生代碼的應(yīng)用開(kāi)發(fā)者

您可以使用 Android Studio 中的 APK Analyzer 等工具檢查您的應(yīng)用是否具有原生代碼。然而,確保應(yīng)用兼容性的唯一方法仍然是進(jìn)行測(cè)試。

重新構(gòu)建應(yīng)用

為了確保您的應(yīng)用能夠在使用 16 KB 頁(yè)面大小的設(shè)備上正常運(yùn)行,請(qǐng)按照以下步驟操作:

升級(jí)工具:首先,請(qǐng)升級(jí)至 Android Gradle 插件 (AGP) 8.5.1 或更高版本。這些更新后的工具集成了必要的 16 KB 頁(yè)面大小配置,適用于 App Bundle 和使用 Bundletool 生成的 APK。

統(tǒng)一原生代碼:如果您的應(yīng)用包含原生代碼,請(qǐng)使用 NDK r28 或更高版本進(jìn)行構(gòu)建,或者使用 16 KB 頁(yè)面大小對(duì)齊方式重新構(gòu)建。此外,您還應(yīng)確保原生代碼中沒(méi)有依賴(lài)或硬編碼 PAGE_SIZE 的值。

更新 SDK 和庫(kù):確認(rèn)您的應(yīng)用中使用的所有 SDK 和庫(kù)都兼容 16 KB 頁(yè)面大小。如有必要,請(qǐng)聯(lián)系 SDK 或庫(kù)的開(kāi)發(fā)者以獲取更新版本。

在 16 KB 模式下測(cè)試應(yīng)用

為了確保您的應(yīng)用在任何地方都沒(méi)有假定頁(yè)面大小為 4 KB,請(qǐng)使用 16 KB 頁(yè)面大小的模擬器或虛擬設(shè)備進(jìn)行測(cè)試,而不僅僅依賴(lài)于以往用 4 KB 頁(yè)面大小進(jìn)行的測(cè)試方法。這有助于識(shí)別并解決遷移到 16 KB 頁(yè)面大小可能出現(xiàn)的任何兼容性問(wèn)題。您還可以在支持相關(guān)開(kāi)發(fā)者選項(xiàng)的實(shí)體設(shè)備上進(jìn)行測(cè)試,例如從 Android 15 QPR1 開(kāi)始提供支持的 Pixel 8、8a 和 8 Pro,以及從 Android 15 QPR2 Beta 2 開(kāi)始支持的 Pixel 9、9 Pro 和 9 Pro XL。未來(lái)將提供更多設(shè)備支持。

邁向更快速、更高效的未來(lái)

支持 16 KB 頁(yè)面大小為 Android 生態(tài)系統(tǒng)帶來(lái)了諸多好處。它將釋放性能的潛力,為未來(lái)的創(chuàng)新鋪平道路,并為用戶提供更流暢和豐富的應(yīng)用體驗(yàn)。 我們將持續(xù)提供更新和資源,幫助您順利過(guò)渡。歡迎您立即著手優(yōu)化應(yīng)用,以確保為 Android 的未來(lái)做好準(zhǔn)備!

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

    關(guān)注

    12

    文章

    3968

    瀏覽量

    129768
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3115

    瀏覽量

    75071
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7113

    瀏覽量

    125133

原文標(biāo)題:讓您的應(yīng)用為 16 KB 頁(yè)面大小的設(shè)備做好準(zhǔn)備

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    工業(yè)通信的“超級(jí)翻譯官”Modbus轉(zhuǎn)Profinet如何稱(chēng)重設(shè)備實(shí)現(xiàn)語(yǔ)言自由

    在競(jìng)爭(zhēng)激烈的工業(yè)自動(dòng)化領(lǐng)域,設(shè)備間通信協(xié)議的差異常常成為提升生產(chǎn)效率的絆腳石。但別擔(dān)心,我們?yōu)?b class='flag-5'>您帶來(lái)了一個(gè)卓越的解決方案——VING微硬創(chuàng)新Modbus轉(zhuǎn)Profinet連接稱(chēng)重設(shè)備的實(shí)現(xiàn)方案,
    發(fā)表于 05-21 15:45

    Cyusb3014修改DMA大小為大于4KB時(shí),將不會(huì)在HOST端接收到任何數(shù)據(jù),為什么?

    你好,在官方的slavefifo模式例程中,我想嘗試增加DMA大小來(lái)提高讀取速度。 但是,當(dāng)我修改DMA大小為大于4KB時(shí),我將不會(huì)在HOST端接收到任何數(shù)據(jù)。 若設(shè)置值小于等于4KB
    發(fā)表于 05-09 07:31

    MAX28200 16位微控制器,帶有ADC和I2C技術(shù)手冊(cè)

    端口。器件包括4個(gè)GPIO引腳。器件包含16KB閃存和2KB數(shù)據(jù)SRAM。附加專(zhuān)用ROM空間包括I2C引導(dǎo)裝載程序等宏程序,支持在現(xiàn)場(chǎng)更新閃存固件。器件提供NIST SP 800-185兼容安全散列算法(SHA-3) KMAC質(zhì)詢(xún)和響應(yīng)認(rèn)證,可與其他SHA-3器件配合使用
    的頭像 發(fā)表于 05-08 14:40 ?180次閱讀
    MAX28200 <b class='flag-5'>16</b>位微控制器,帶有ADC和I2C技術(shù)手冊(cè)

    求助,關(guān)于3014的緩沖區(qū)設(shè)置疑問(wèn)求解

    rgb24 1080p@60fps是靜態(tài)圖像,dma緩沖區(qū)的配置即大小和數(shù)量分別為16kb,6,沿用的是yuy2的配置,但yuy2 1080p@60fps 是動(dòng)態(tài)且不顛倒,是否可以認(rèn)為是由于緩沖區(qū)
    發(fā)表于 05-06 13:42

    HEX2BIX Fx2lp圖像太大怎么解決?

    maya2000pro.iic maya2000pro.hex” 如果我的代碼大小大于 16Kb,則會(huì)出現(xiàn)錯(cuò)誤“錯(cuò)誤:輸入圖像對(duì)于輸出文件大小來(lái)說(shuō)太大。Addr = 0x341a,len = 0xc
    發(fā)表于 04-30 06:37

    7路達(dá)林頓驅(qū)動(dòng)的16KB Flash ROM的AD型MCU AiP8F3201

    7路達(dá)林頓驅(qū)動(dòng)的16KB Flash ROM的AD型MCU AiP8F3201
    的頭像 發(fā)表于 03-24 10:09 ?341次閱讀
    7路達(dá)林頓驅(qū)動(dòng)的<b class='flag-5'>16KB</b> Flash ROM的AD型MCU AiP8F3201

    小型MCU:愛(ài)普生S1C17M20系列16位單片機(jī)中文資料

    MCU。它們以緊湊的封裝尺寸、豐富的功能模塊和低功耗特性,成為了小型電子設(shè)備的理想選擇。 S1C17M20系列關(guān)鍵特性: 具有讀取/程序保護(hù)功能的16KB / 32KB Flash ROM 1.8至
    的頭像 發(fā)表于 03-14 14:02 ?889次閱讀
    小型MCU:愛(ài)普生S1C17M20系列<b class='flag-5'>16</b>位單片機(jī)中文資料

    LZO Data Compression,高性能LZO無(wú)損數(shù)據(jù)壓縮加速器介紹,F(xiàn)PGA&amp;ASIC

    無(wú)損數(shù)據(jù)壓縮2.可配置的數(shù)據(jù)塊分段和搜索窗口大小[8KB16KB,32KB]3.可配置的并行處理等級(jí)[搜索引擎的數(shù)量,1~32]4.可配置的字典深度[8K,
    發(fā)表于 01-24 23:53

    一個(gè)基于Cortex的單片機(jī)專(zhuān)為USB耳機(jī)設(shè)備設(shè)計(jì)的USBCodec芯片

    USBCodec芯片 - CJC6811A是一款基于Cortex的單片機(jī),專(zhuān)為USB耳機(jī)設(shè)備而設(shè)計(jì)。它集成了一個(gè)32位的RISC CPU和16KB的SRAM、USB、UART、IIC、音頻編解碼器、GPIO、定時(shí)器、WDT、PWM、SPI、IIS、SARADC、PLL、L
    的頭像 發(fā)表于 01-15 09:41 ?508次閱讀
    一個(gè)基于Cortex的單片機(jī)專(zhuān)為USB耳機(jī)<b class='flag-5'>設(shè)備</b>設(shè)計(jì)的USBCodec芯片

    如何做好芯片質(zhì)檢?

    、可靠性測(cè)試等多個(gè)方面。質(zhì)檢人員需要全面了解這些測(cè)試的內(nèi)容和目的,以便在質(zhì)檢過(guò)程中能夠準(zhǔn)確識(shí)別和處理各種問(wèn)題。 二、準(zhǔn)備質(zhì)檢設(shè)備和環(huán)境 選擇合適的質(zhì)檢設(shè)備:根據(jù)芯片的類(lèi)型和測(cè)試需求,選擇適合的質(zhì)檢
    的頭像 發(fā)表于 11-23 14:17 ?815次閱讀

    oracle數(shù)據(jù)恢復(fù)—存儲(chǔ)掉盤(pán)導(dǎo)致Oracle數(shù)據(jù)庫(kù)文件大小變?yōu)?kb的數(shù)據(jù)恢復(fù)案例

    存儲(chǔ)掉盤(pán)超過(guò)上限,lun無(wú)法識(shí)別。管理員重組存儲(chǔ)的位圖信息并導(dǎo)出lun,發(fā)現(xiàn)linux操作系統(tǒng)上部署的oracle數(shù)據(jù)庫(kù)中有上百個(gè)數(shù)據(jù)文件的大小變?yōu)?kb。數(shù)據(jù)庫(kù)的大小縮水了80%以上。 取出
    的頭像 發(fā)表于 11-21 11:29 ?434次閱讀
    oracle數(shù)據(jù)恢復(fù)—存儲(chǔ)掉盤(pán)導(dǎo)致Oracle數(shù)據(jù)庫(kù)文件<b class='flag-5'>大小</b>變?yōu)?<b class='flag-5'>kb</b>的數(shù)據(jù)恢復(fù)案例

    如何避免自動(dòng)初始化組件被截?cái)嗟那闆r?

    如上圖所示: 使用芯片APM32F407ZG,使用地址0x08004000 ~ 0x0800FFFF 作為內(nèi)部存儲(chǔ) 因?yàn)槭遣脸?b class='flag-5'>大小是16KB 其余都是64KB/128KB 所以定義了
    發(fā)表于 09-13 08:06

    Linux內(nèi)核中的頁(yè)面分配機(jī)制

    Linux內(nèi)核中是如何分配出頁(yè)面的,如果我們站在CPU的角度去看這個(gè)問(wèn)題,CPU能分配出來(lái)的頁(yè)面是以物理頁(yè)面為單位的。也就是我們計(jì)算機(jī)中常講的分頁(yè)機(jī)制。本文就看下Linux內(nèi)核是如何管理,釋放和分配這些物理
    的頭像 發(fā)表于 08-07 15:51 ?597次閱讀
    Linux內(nèi)核中的<b class='flag-5'>頁(yè)面</b>分配機(jī)制

    CA32F0156系列數(shù)據(jù)手冊(cè)

    32位微處理器 128KB Flash 16KB SRAM Timer ADC RTCLED/LCD Driver USART IIC SPI COMP 電容觸摸按鍵產(chǎn)品
    發(fā)表于 07-15 17:35 ?14次下載

    可以擴(kuò)展大于64KB eagle.flash.bin大小嗎?

    我可以擴(kuò)展大于 64KB eagle.flash.bin大小和大于 768KB eagle.irom0text.bin大小嗎? 我建造,eagle.flash.bin太大了, -rw
    發(fā)表于 07-10 06:10

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品