异步加载
- 使用LoadAsync方法:这是最常见的异步加载方式。LoadAsync方法返回一个AsyncOperationHandle对象,该对象可以用于跟踪加载的进度,并在加载完成后获取加载的资源。
- 使用AsyncOperationHandle的Completed事件:可以为AsyncOperationHandle对象的Completed事件绑定一个回调函数,在资源加载完成时触发回调函数进行后续处理。
- 使用AsyncOperationHandle的Task:AsyncOperationHandle对象还提供了一个AsTask方法,通过将其转换为Task对象,可以使用await关键字来等待资源加载完成,然后进行后续处理
- 这些加载方式可以根据你的需求和程序结构的不同进行选择和组合。通常,使用LoadAsync方法进行异步加载是最常见和简单的方式。如果你的代码基于异步编程模型(例如使用async/await),那么可以考虑使用AsyncOperationHandle的Task来更方便地管理异步加载过程。同时,也可以结合使用Completed事件和Task,以便在加载过程中进行额外的异步操作或处理加载错误的情况。
assetbundle
- Addressables 提供了一种统一的方式来管理和加载资源,无论是从本地文件系统、远程服务器还是从其他来源加载,包括 AssetBundle。它允许您通过使用资源的唯一标识符(例如地址、键或标签)来引用和访问资源,而不仅仅是通过路径或文件名。
- 底层实现中,Addressables 使用 AssetBundle 作为一种资源的打包和分发机制。通过将资源打包为 AssetBundle,您可以在需要时下载和加载特定的资源集合,而无需一次性加载整个游戏或应用程序的所有资源。
- 但是,值得注意的是,Addressables 并不依赖于 AssetBundle。它还支持其他加载和分发方法,如直接从文件系统、Web、Content Delivery Network(CDN)等加载资源。这使得您可以根据实际需求选择最合适的加载方式,而不仅限于 AssetBundle。