参照型の場合、変数の寿命ではなくガベージコレクタによってメモリが回収されます。このガベージコレクションのために一瞬動作が遅くなることがあります。
そこで、このメモリの確保のときに発生するGC Allocをプロファイラーで見つけて、どのスクリプトが原因かを調べてみました。
まず、プロファイラーのヒエラルキーモードで「gc.alloc」を検索します。
Overviewにいくつか見つかったので、行を選択して、検索窓の横のドロップダウンからShow Callsを選びます。
すると、Called Fromに原因となるメソッドのリストが表示されます。
これで簡単に原因の箇所を見つけられました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StringCreator : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
List<string> text = new List<string>(200);
}
}
行を選んで検索窓の右のバツボタンやFキーを押すと、その行を選択したまま全ての行を表示できます。