回答編集履歴
1
語弊がある部分変更
answer
CHANGED
@@ -2,10 +2,9 @@
|
|
2
2
|
確かに「nullが入っていないTextureはGCの対象にならない」という仕様があります。
|
3
3
|
|
4
4
|
一応`Resources.UnloadUnusedAssets();`を使うと、nullが入っていなくとも、どこからも参照されていなければメモリ解放される……らしいのですが、以前自分で検証した際は怪しげでした。
|
5
|
-
(古い情報
|
5
|
+
(古い情報&自己流だったのでちゃんとやれば正しく動作するのではないかと思いますが)
|
6
6
|
|
7
|
-
もし上のコードで指定のテクスチャをメモリ解放したいなら、
|
8
|
-
`test.RemoveAt(0);`の**前の行**に`test[0] = null;`と入れると確実にGC対象になりますので、ほっといても次のGCタイミングで解放されます。
|
7
|
+
別解としては、`test.RemoveAt(0);`の**前の行**に`test[0] = null;`と入れると確実にGC対象になりますので、ほっといても次のGCタイミングで解放されます。
|
9
8
|
(null入れる代わりに`Destroy(test[0]);`でも多分OK)
|
10
9
|
|
11
10
|
参考:[動的に生成したTextureとSpriteはしっかり管理しよう! - エイリアンプログラム](http://alien-program.hatenablog.com/entry/2017/11/12/131331)
|