2026.08.20 · 资源

Addressables 入门随笔:加载完记得 Release

Resources 文件夹用着简单,但会打进包体,还不方便按需卸载。项目稍大之后我改用 Addressables:资源给地址或 Label,运行时按地址加载。真正要记住的不是 API 名字,而是句柄的生命周期。

AsyncOperationHandle<GameObject> _handle;

async void Start()
{
    _handle = Addressables.InstantiateAsync("enemy/slime");
    await _handle.Task;
}

void OnDestroy()
{
    if (_handle.IsValid())
        Addressables.Release(_handle);
}

我给自己列的清单

和小项目相比,Addressables 的心智成本更高。如果资源很少、也不会热更,继续用直接引用完全够用。等包体和重复依赖开始疼了,再上这套更划算。

备忘:不要把同一份资源同时塞进 Resources 和 Addressables。两套管线各算各的,内存和包体都会重复。