0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

让您的应用为16KB页面大小的设备做好准备

谷歌开发者 ? 来源:谷歌开发者 ? 2025-01-07 09:26 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者 / 开发者关系工程师 Yacine Rezgui,资深软件工程师 Steven Moreland

Android 正在不断发展,以提供更快速、性能更佳的用户体验。其中一项关键改进是使用了 16 KB 的内存页面大小。这一变化使得操作系统能够更高效地管理内存,从而为应用和游戏带来显著的性能提升 (提升幅度为 5-10%)。我们在《为 Android 添加 16 KB 页面大小》一文中提供了深入的技术解析,并重点展示了性能改进。

为了帮助您在 16 KB 页面大小的设备上测试应用,此功能已作为开发者选项在 Google Pixel 8 和 9 设备上提供,三星设备也将很快提供类似的支持。此外,小米、vivo 及其他 Android 原始设备制造商 (OEM) 也将陆续提供。 为了确保与 16 KB 页面大小设备的兼容性,使用原生代码的应用 (无论是直接使用还是通过库或 SDK 使用) 可能需要重新构建。不过,这次过渡比之前从 32 位到 64 位架构的转变要容易得多。本文将指导您完成为即将推出的设备做好应用准备的必要步骤。新一代设备正在陆续推出,预计首批支持 16 KB 页面大小的机型将在未来几年内问世。

为 16 KB 做好准备:

SDK 开发者

如果您开发自己的 SDK 和库,我们建议您尽快更新以兼容 16 KB 页面大小,并在使用 16 KB 页面大小的设备上进行测试。这将为应用开发者留出充足的时间来进行必要的更改。您可以注册 Google Play SDK 管理中心,确保将来能及时收到此类重要通知。

为 16 KB 做好准备:

不使用原生代码的应用开发者

完全使用 Kotlin 或 Java 编程语言编写的应用,并且所有依赖项也均使用这些语言构建的应用,将无需进行任何更改即可正常运行。

为 16 KB 做好准备:

使用原生代码的应用开发者

您可以使用 Android Studio 中的 APK Analyzer 等工具检查您的应用是否具有原生代码。然而,确保应用兼容性的唯一方法仍然是进行测试。

重新构建应用

为了确保您的应用能够在使用 16 KB 页面大小的设备上正常运行,请按照以下步骤操作:

升级工具:首先,请升级至 Android Gradle 插件 (AGP) 8.5.1 或更高版本。这些更新后的工具集成了必要的 16 KB 页面大小配置,适用于 App Bundle 和使用 Bundletool 生成的 APK。

统一原生代码:如果您的应用包含原生代码,请使用 NDK r28 或更高版本进行构建,或者使用 16 KB 页面大小对齐方式重新构建。此外,您还应确保原生代码中没有依赖或硬编码 PAGE_SIZE 的值。

更新 SDK 和库:确认您的应用中使用的所有 SDK 和库都兼容 16 KB 页面大小。如有必要,请联系 SDK 或库的开发者以获取更新版本。

在 16 KB 模式下测试应用

为了确保您的应用在任何地方都没有假定页面大小为 4 KB,请使用 16 KB 页面大小的模拟器或虚拟设备进行测试,而不仅仅依赖于以往用 4 KB 页面大小进行的测试方法。这有助于识别并解决迁移到 16 KB 页面大小可能出现的任何兼容性问题。您还可以在支持相关开发者选项的实体设备上进行测试,例如从 Android 15 QPR1 开始提供支持的 Pixel 8、8a 和 8 Pro,以及从 Android 15 QPR2 Beta 2 开始支持的 Pixel 9、9 Pro 和 9 Pro XL。未来将提供更多设备支持。

迈向更快速、更高效的未来

支持 16 KB 页面大小为 Android 生态系统带来了诸多好处。它将释放性能的潜力,为未来的创新铺平道路,并为用户提供更流畅和丰富的应用体验。 我们将持续提供更新和资源,帮助您顺利过渡。欢迎您立即着手优化应用,以确保为 Android 的未来做好准备!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3974

    浏览量

    130491
  • 内存
    +关注

    关注

    8

    文章

    3128

    浏览量

    75362
  • 操作系统
    +关注

    关注

    37

    文章

    7173

    浏览量

    125871

原文标题:让您的应用为 16 KB 页面大小的设备做好准备

文章出处:【微信号:Google_Developers,微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问在单个DAVE?项目中是否支持16kb闪存大小的 MCU 和 32kb 闪存大小的 MCU?

    应加载到 XMC1302t028x0016(16KB 闪存 MCU)。 单个DAVE?项目是否可以支持两种 MCU 闪存大小? 我们不想进行DAVE?迁移,也不想针对 16KB 和 32KB
    发表于 07-30 08:02

    服务专栏| 台风天特辑——的三坐标测量机,我们与共同守护??

    亲爱的客户朋友们: 最近的天气预报里,“台风预警”“暴雨红色预警”的字样越来越频繁。窗外风雨渐急,我们心里也多了一份牵挂——实验室/车间里的三坐标测量机,此刻是否已做好“抗台”准备? 作为陪伴
    的头像 发表于 07-18 15:19 ?174次阅读
    服务专栏| 台风天特辑——<b class='flag-5'>您</b>的三坐标测量机,我们与<b class='flag-5'>您</b>共同守护??

    使用USB3两个方向时,FX3 GPIF传输会挂起,怎么解决?

    通常具有: 1x 或 2x HID 接口 视频输入( BULK ,GPIF 具有多个16KB缓冲区大小) 音频输入( ISO ,1ms,GPIF 具有多个192B缓冲区大小) 音频输出( ISO
    发表于 07-15 07:08

    做好PCBA贴片加工?这些前期准备工作要做好

    一站式PCBA加工厂家今天为大家讲讲PCBA贴片加工前的准备工作有哪些?PCBA贴片加工前的准备工作。在PCBA代工过程中,贴片加工前的准备工作是确保电路板性能稳定和生产效率高的基础。每个环节都需要
    的头像 发表于 06-25 09:23 ?158次阅读
    想<b class='flag-5'>做好</b>PCBA贴片加工?这些前期<b class='flag-5'>准备</b>工作要<b class='flag-5'>做好</b>!

    工业通信的“超级翻译官”Modbus转Profinet如何称重设备实现语言自由

    在竞争激烈的工业自动化领域,设备间通信协议的差异常常成为提升生产效率的绊脚石。但别担心,我们为带来了一个卓越的解决方案——VING微硬创新Modbus转Profinet连接称重设备的实现方案,
    发表于 05-21 15:45

    Cyusb3014修改DMA大小为大于4KB时,将不会在HOST端接收到任何数据,为什么?

    你好,在官方的slavefifo模式例程中,我想尝试增加DMA大小来提高读取速度。 但是,当我修改DMA大小为大于4KB时,我将不会在HOST端接收到任何数据。 若设置值小于等于4KB
    发表于 05-09 07:31

    MAX28200 16位微控制器,带有ADC和I?C技术手册

    端口。器件包括4个GPIO引脚。器件包含16KB闪存和2KB数据SRAM。附加专用ROM空间包括I?C引导装载程序等宏程序,支持在现场更新闪存固件。器件提供NIST SP 800-185兼容安全散列算法(SHA-3) KMAC质询和响应认证,可与其他SHA-3器件配合使用
    的头像 发表于 05-08 14:40 ?288次阅读
    MAX28200 <b class='flag-5'>16</b>位微控制器,带有ADC和I?C技术手册

    求助,关于3014的缓冲区设置疑问求解

    rgb24 1080p@60fps是静态图像,dma缓冲区的配置即大小和数量分别为16kb,6,沿用的是yuy2的配置,但yuy2 1080p@60fps 是动态且不颠倒,是否可以认为是由于缓冲区
    发表于 05-06 13:42

    HEX2BIX Fx2lp图像太大怎么解决?

    maya2000pro.iic maya2000pro.hex” 如果我的代码大小大于 16Kb,则会出现错误“错误:输入图像对于输出文件大小来说太大。Addr = 0x341a,len = 0xc
    发表于 04-30 06:37

    7路达林顿驱动的16KB Flash ROM的AD型MCU AiP8F3201

    7路达林顿驱动的16KB Flash ROM的AD型MCU AiP8F3201
    的头像 发表于 03-24 10:09 ?470次阅读
    7路达林顿驱动的<b class='flag-5'>16KB</b> Flash ROM的AD型MCU AiP8F3201

    LZO Data Compression,高性能LZO无损数据压缩加速器介绍,FPGA&amp;ASIC

    无损数据压缩2.可配置的数据块分段和搜索窗口大小[8KB16KB,32KB]3.可配置的并行处理等级[搜索引擎的数量,1~32]4.可配置的字典深度[8K,
    发表于 01-24 23:53

    一个基于Cortex的单片机专为USB耳机设备设计的USBCodec芯片

    USBCodec芯片 - CJC6811A是一款基于Cortex的单片机,专为USB耳机设备而设计。它集成了一个32位的RISC CPU和16KB的SRAM、USB、UART、IIC、音频编解码器、GPIO、定时器、WDT、PWM、SPI、IIS、SARADC、PLL、L
    的头像 发表于 01-15 09:41 ?609次阅读
    一个基于Cortex的单片机专为USB耳机<b class='flag-5'>设备</b>设计的USBCodec芯片

    如何做好芯片质检?

    、可靠性测试等多个方面。质检人员需要全面了解这些测试的内容和目的,以便在质检过程中能够准确识别和处理各种问题。 二、准备质检设备和环境 选择合适的质检设备:根据芯片的类型和测试需求,选择适合的质检
    的头像 发表于 11-23 14:17 ?967次阅读

    oracle数据恢复—存储掉盘导致Oracle数据库文件大小变为0kb的数据恢复案例

    存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出
    的头像 发表于 11-21 11:29 ?508次阅读
    oracle数据恢复—存储掉盘导致Oracle数据库文件<b class='flag-5'>大小</b>变为0<b class='flag-5'>kb</b>的数据恢复案例

    如何避免自动初始化组件被截断的情况?

    如上图所示: 使用芯片APM32F407ZG,使用地址0x08004000 ~ 0x0800FFFF 作为内部存储 因为是擦除大小16KB 其余都是64KB/128KB 所以定义了
    发表于 09-13 08:06