Resources.LoadのBestPracticesの検証(1,ロードとアンロード
の続き
前回のResourcesLoader.csを継承して実際に呼んだものを
描画した状態で消したらどうかを見てみる
今回使用するソースは
ResourcesLoadSprite.cs
using UnityEngine;
public class ResourcesLoadSprite : ResourcesLoader
{
[SerializeField, Header("表示するSpriteRendererを指定")]
private SpriteRenderer TargetRenderer;
protected override void SetLoadObjectType()
{
LoadObjectType = typeof(Sprite);
}
protected override void OnLoadComplete(Object _object)
{
base.OnLoadComplete(_object);
TargetRenderer.sprite = _object as Sprite;
}
}
ざっくり挙動は
0.SetLoadObjectTypeはResource.Loadが型を指定しないと一部情報が飛ぶので引数で与えているデータ型
1.ロードが完了したら指定した描画コンポーネントにSpriteを渡す。
前回と比べて実際に描画している状態
でよりアプリ内で使われているのに
近い状態にしてみた。
Texture2Dは使用されているため解放できなかったのはわかるが
Sprite情報は解放されてしまった。