外观
如何理解Bitmap 与快照缓存管理?
标准回答
先按目标显示尺寸选择解码或快照分辨率,像素格式影响内存和质量。缓存按字节而不是仅按对象个数设上限,因为一张4K图和一张小图差异很大;还要计入临时缓冲和纹理副本造成的峰值。
以页面和动画会话管理所有权,结束、取消、显示移除和配置变化时释放不再使用的引用与资源。缓存键应包含影响内容的尺寸、密度或版本,防止复用错误快照。
不能在图像仍被View或GPU使用时粗暴recycle或复用可写内存。采用库或平台契约允许的生命周期管理,并在多轮跨屏操作后检查内存是否回到稳定范围。
追问与回答
弱引用缓存会自动解决内存问题吗
它不能保证命中率和正确生命周期,内存压力下可能频繁丢失而增加重新生成成本。要用明确预算和失效策略。
内容来源
- Android 与 AI 工程 Wiki · 原条目
q057