Android 减少图形的内存消耗

在图形堆栈中,每层的缓冲区缓存位于混合渲染器 HAL 和 SurfaceFlinger 之间,从而减少与通过 IPC 发送文件描述符相关的开销。在 Android 14 之前的版本中,当 GraphicBufferProducer 与 SurfaceFlinger GraphicBufferConsumer 断开连接时(例如 MediaCodec 与 SurfaceView 断开连接时),此缓冲区缓存不会被完全清除。从 Android 14 开始,您可以强制完全清除此缓冲区缓存,以减少图形的内存消耗。

注意:当用户在配备高分辨率显示屏且内存有限的设备(例如电视)上的某个应用中开始播放和停止播放视频时,此功能的优势最为明显。

从以下两个选项中选择一项:

  • 对于发布时搭载 Android 14 及更高版本的设备,您必须实现新的 3.2 版混合渲染器 HAL API。此选项在默认情况下处于启用状态,并能最大限度地节省内存。升级到 Android 14 及更高版本的设备也可以使用此选项来实现全部内存优势。
  • 对于升级到 Android 14 的设备,如果您不想实现混合渲染器 HAL 3.2 API,可以改为启用向后兼容选项。此选项节省的内存几乎与上一个选项一样多。

以下两部分介绍了如何实现各个选项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值