普通に変数を変数を定義し、値を入れて、解放する場合はnullを代入して
正常に行われるのですが、関数などで、引数として、一度でも値を渡すと
解放できなくなります。
渡した先の関数でも、nullを入れてはいるのですが。。。
何故でしょうか?
※System.gc()はその直下で実行しております。
(1)本当に骨格だけのテストプログラムを書いても開放されませんか?
(2)System.gc()は時間がかかる処理のため、すべてのメモリーを解放しません
(3)どこかで参照されているメモリーは、GCの対象にはなりません。
(4)nullはおまじないのようなもので、nullを代入したらすぐには開放されません。