最近自分の情報収集圏内で、局所的にWeakEventパターンが話題になっていた。用途としてはMVVMをやるときのModel-ViewModel間のインタラクションのために、イベント付けまくるからリークが、みたいな流れで。 MVVMでメモリリークしちゃってました 原因と対策編 - かずきのBlog@Hatena で、WeakEventちょっと調べようかと思ったんですが、よく考えたらその前にWeakReference(弱参照)をしらないじゃん、私。 ということで、弱参照についてまとめます。今更感アリアリですが。 そもそも弱参照って何さ? 弱参照は、その名のとおり、弱い参照。通常、あるオブジェクトAから別のオブジェクトBに参照を貼ると、Aが存在し、かつその参照が存続する限りはBはGCされません。当たり前ですね。 ところが、弱参照で張った参照関係は、Aが存在し、かつその参照があったとしても、普通に