OWNER SCOPES / RETAIN & RELEASE

不是“加载几次”,
而是谁还需要它

观察两个 Scope 如何共享一次底层加载,Owner 集合如何保护缓存,以及单独释放、场景卸载与失败冲突如何收尾。

RESOURCE LIFECYCLE

请求、所有权与最终释放

STEP 011 / 8
PROBLEM / 为什么

MECHANISM / 怎么做

BOUNDARY / 何时失效

COST / 代价

OWNERSHIP MATRIX

Scope × Resource

EMPTY
Owner资源 α资源 βScope 状态
REQUESTS0
PENDING0
UNDERLYING LOADS0
CACHE ENTRIES0
ENTRY / 资源 α不存在
Owners
底层对象
未加载
最终释放次数
0
  1. 等待第一步
01

Owner 是集合

同一 Scope 重复 Load 不增加引用次数;它仍只拥有该资源一次。

02

取消不等于停载

共享加载继续服务其他请求;完成时没有有效 Owner,才立即释放结果。

03

场景只是一个 Scope 索引

场景卸载 Dispose 绑定 Scope;普通 Scope 仍由自己的生命周期负责人管理。