概要
using UnityEngine; using UnityEngine.U2D; public class Example : MonoBehaviour { public SpriteAtlas m_atlas; private void Update() { m_atlas.GetSprite( "goal_01" ); } }
例えば上記のように Update 関数で毎フレーム
SpriteAtlas.GetSprite を実行するスクリプトを作成した場合、
Profiler の「Total Objects in Scene」が凄い勢いで増えていくのがわかります
Profiler の Detailed で「Scene Memory」を見てみると
同名のスプライトが大量に複製されることがわかります
シーンを遷移したり Resources.UnloadUnusedAssets を実行したりすれば
すべて解放されますが、もしも開発中のゲームが強制終了するなどあった場合は、
SpriteAtlas.GetSprite の使用方法を見直したほうが良いかもしれません