【Unity】GCHandle.Alloc で固定にしたメモリ領域はFreeを呼ばないと解放されないので注意

DEVELOP, Unity

GCHandleType.Pinned を指定した領域はガベージコレクションの対象にならないので注意が必要です。

TextAsset asset = Resources.Load("path");
GCHnadle handle = GCHandle.Alloc(asset.bytes, GCHandleType.Pinned);
 
// 必ずFreeを先に呼ぶ。
handle.Free();
  
// 解放できる。
Resources.UnloadAsset(asset);

Posted by kazupon