Addressable设置
SpriteAtlas文件设置勾选Addressable,SpriteAtlas下的Sprite文件设置不勾选。
加载
GetSprite拿到的是图集上的Clone体
Addressables.LoadAssetAsync<SpriteAtlas>("Assets/UIRes/atlas/ar/ar.spriteatlas").Completed += handle =>
{
_handle = handle;
if (handle.Status == AsyncOperationStatus.Succeeded)
{
Debug.LogError(handle.Result);
//获取所有图
// Sprite[] sps = new Sprite[handle.Result.spriteCount];
// int length = handle.Result.GetSprites(sps);
// for (int i = 0; i < length; i++)
// {
// Debug.LogError($"获取所有Sprite = {sps[i]}");
// }
//获取单张Sprite
sp1 = handle.Result.GetSprite("xxx");
img1.sprite = sp1;
}
};
释放
Destroy(sprite):删除Clone出的sprite
Destroy(handle):释放原始资源图集SpriteAtlas
总结
Addressables.LoadAssetAsync加载中必然对应一个释放,且为相同对象。