メモリについての検証 1

何にも考えないでプログラムを組んでいくと
メモリを無駄に使って重くなったり、ゲームが動作しなくなったりするらしい。

メモリとかよくわからないので、プログラムを走らせているときに
実際にメモリが増えたり減ったりするさまを診断ツールなるものをつかって確認してみたいなと思います。
この手の内容は調べればでてきそうですが、自分で手を動かして確認したほうが理解が進むかなーと思ったのでやります。



まずはメモリのお勉強

大体こんな感じに理解した。
・メモリ領域にはスタック領域とヒープ領域なるものがあるらしい。

・ヒープ領域をたくさん使って解放されないままだと重くなる。メモリを無駄にしているということになる。

・値型だとスタック領域を使う。参照型だとヒープ領域を使う。クラスをインスタンスしたりするのは参照型なのでヒープを使う。

C#にはガベージコレクションなる機能があり、ヒープ領域にあるが、使わなくなったメモリを自動で解放してくれる。
 ただし、画像等ファイルを外部から読み込む場合は、ガベージコレクションで解放されないので自分で解放しないといけない。

わかりやすかった記事。
www.engineer-walk.com


自分の理解だと、以下3点のようになると思っているので
ほんとにそうなるか、診断ツールなるもので見てみようと思います。

・クラスをnewするとヒープで使用しているメモリが増えるよ。
・変数に値を入れてもヒープ全然増えないよ。
・外部ファイルを読み込むとヒープメモリ増えるよ & 解放すると減るよ。

眠いので確認はまた明日以降。

`