1、镜像加载和卸载
当使用可寻址资源时,确保适当的内存管理的主要方法是正确镜像加载和卸载调用。如何执行取决于您的资源类型和加载方法。但是,在所有情况下,释放方法都可以接受已加载的资源,也可以采用加载返回的操作句柄。
例如:在场景创建过程中(如下所述),加载返回一个 AsyncOperationHandle,您可以通过返回的句柄或通过跟上handle.Result(在本例中是一个 SceneInstance)来释放它。
1.资源加载
要加载资源,请使用Addressables.LoadAssetAsync或Addressables.LoadAssetsAsync。
这会将资源加载到内存中而不实例化它。每次执行加载调用时,都会为每个加载的资源中添加一个引用计数。如果使用相同的地址调用LoadAssetAsync三次,将获得AsyncOperationHandle结构的三个不同实例,所有实例都引用相同的底层操作。该操作对应的资源的引用计数为3。如果加载成功,则生成的AsyncOperationHandle结构将在.Result属性中包含资源。您可以通过Unity的内置实例化方法使用加载的资源进行实例化,该方法不会增加Addressables引用计数。
要卸载资源,请使用Addressables.Release方法减少引用计数。当给定资源的引用计数为零时,该资源已准备好卸载,并减少了任何依赖项的引用计数。
注意:资源可能会立即卸载,也可能不会立即卸载,取决于现有的依赖关系。有关更多信息,请阅读有关