Skip to content
阅读进度

如何理解案例:跨屏后的图形与 Native 内存增长? ​

返回 多屏互动项目 目录

标准回答 ​

这说明需要优先分解堆外和图形相关内存,但尚不能断言是快照泄漏。记录每次切换后稳定点的Native、Graphics、映射与共享页变化,检查截图、纹理、Surface或HardwareBuffer对象数量与生命周期。

如果Native分配持续保留,采分配栈;如果是图形或DMA缓冲,核对生产者消费者是否仍持有、fence是否完成、显示断开和取消路径是否释放。也可能是缓存尚未到上限,需要更长循环看平台期。

修复后使用完全相同的循环和等待条件,验证增长斜率趋于稳定、峰值可控、重新进入功能正常。只手动GC一次或把所有引用设null,并不能证明GPU资源已安全回收。

追问与回答 ​

为什么不是立刻加一行Bitmap.recycle ​

还没确认内存类型和使用者,且资源可能仍在绘制。错误释放会把内存问题变成崩溃或花屏。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。