ガベージコレクション(GC)を起こさせない様にする方法
小さなデータを扱う場合、クラスを構造体にすることで、ガベージコレクションを起こさない様にすることができます。
サンプルは、ExampleScriptクラス内にMyClassが内包されていますが、これはインナークラスという仕組みです
変更前
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
class MyClass
{
public int hp;
public string name;
}
void Start()
{
MyClass myClass = new MyClass
{
hp = 10,
name = "Falcon"
};
Debug.Log(myClass.hp);
Debug.Log(myClass.name);
}
}
変更後
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
struct MyStruct
{
public int hp;
public string name;
}
void Start()
{
MyStruct myStruct = new MyStruct
{
hp = 10,
name = "Falcon"
};
Debug.Log(myStruct.hp);
Debug.Log(myStruct.name);
}
}
ディスカッション
コメント一覧
まだ、コメントがありません