C# ガベージコレクション:宇宙仮面の C# ProgrammingUnityでのメモリ管理について色々とWeb上のドキュメントを読んでいたらこの記事がよく参照されているようです。じゃあ自分のプロジェクトではどの方針を採用するかということなのですが、かなり小規模なので、不要なリソースを自分で特定して任意のタイミングでGCを呼ぶという方針にしたいと思います。解放するリソースが増えそうだとusingを使う方針が良さそうですが。実際のところでいえば一番大きなデータオブジェクトでも1Mbyteも無いはずなのでそれほど気にすることはなく、完全にMonoに任せるという方針もありかなとは思いました。ただOSサイドからするとMono環境も一種のアプリで、Monoが非Monoアプリのことまで考慮してメモリマネージメントをしているわけでは無いでしょうから(間違っていたら教えて下さい)、メモリを食い過ぎて非Monoアプリに迷惑をかけるような状況になるのもいかがなものかなと思われました。そこで、・明らかに不要と判断できるリソースは随時Nullを参照・UIのタブ切り替えはユーザーにとって遅延を感じにくいタイミングなのでその時点でGCを実行という方針を採用することにします。NET TIPS ガベージ・コレクタを明示的に動作させるには?こちらのコードを参考にして以下のコードでテストしてみました。

"

コメントをどうぞ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です