外观
如何理解N 屏并发共享的容量与隔离?
标准回答
每增加一个目标,可能增加 Surface 缓冲、快照、合成工作、编码流、输入路由和状态订阅。应按实际共享方式建立预算:复用同一生产者与逐屏独立生产的成本差别很大。RGBA 图像的基础内存可估算为宽×高×4 字节,再加缓冲份数和额外纹理,不能只算一张 Bitmap。
容量控制应包含最大活跃会话、每屏分辨率与刷新预算、有界任务队列和取消策略。优先隔离慢消费者,防止一个目标的阻塞拖住全部目标。实时场景可以按业务允许丢弃过时帧,但不能悄悄丢弃有业务含义的状态更新。
验证从单屏到目标并发数逐级增加,观察 P95、图形内存、CPU/GPU、温度和错误率。已记录的 N 屏功能不等于任何 N 都有保证,最大稳定容量需要在指定硬件与软件版本下测量。
追问与回答
平均资源占用不高却经常停顿
检查短时同时分配、锁竞争、队列头阻塞和单消费者延迟。平均值会掩盖同步峰值。
如何避免结束会话后资源回不来
列出所有者与释放事件,反复执行进入退出,比较稳定后的 Native / 图形内存和对象存活,结合引用和 Surface 状态定位。
易混淆点
- 给每个屏幕无限增加线程和缓存。
参考资料
内容来源
- Android 与 AI 工程 Wiki · 原条目
q117