自分の壁紙チェンジャープログラムを作成するのは楽しいです。私はインターネット上にたくさんあることを知っていますが、私は単に新しいものを学ぼうとしています。今のところ、単純なプログラムを作成するたびに、私はRAM/Memoryを気にしませんでした。私はほとんどの場合、学校向けのプログラムを作成していました。それは一度使うプログラムのようでした。変数で撮影したメモリを解放する
しかし、今私は、私が使用したいアプリケーションを作成しようとしています。私のプログラムは "alt + ctrl + del"ウィンドウで〜4000kくらいの時間がかかることに気付きました。壁紙を変更すると最大200,000kになることがあります。時にはダウンしてしまいます。
だからここに質問、実行中に私のアプリの利用可能な最小ラムを作るためのヒントものです(トレイアイコン、メインウィンドウがif (FormWindowState.Minimized == WindowState) Hide();
を使用して隠されている)来る
は、任意のメモリを取る関数内の変数ですか?例
int function(int a){
int b = 0;
int c = a+b;
return c;
}
または、これらの変数は関数が何らかの値を返した後に解放されますか?
私はいくつかのヒント、ガイド、および/または記事へのリンクを使用して、その情報を得ることができました。初心者フレンドリーなtho。
編集: さて、私はいくつかを読んで、ビットマップを処理し始めました。私が使っていたグローバル変数の一つを取り除きました。壁紙を変更するときは少し上げますが、それを元に戻します。だから私はそれが私にとって成功の一種だと思う。もう一つ残ったこと。私は大/大/いくつかのオプションプログラムをダウンロードして、壁紙を変更し、それは私よりも多くの選択肢を持っています、そしてそれでも約1000-2000kを取るので、今は私のように "多くの" RAMを取ることができます。私のプログラムを約4100回実行すると、すぐに、私はそれを最適化するために何かをやることができると思います。皆さん、ありがとうございました。 :)
スタック上のローカル変数のメモリ領域は、メソッドが返ってきたときにスタックがアンワインドされるときに再利用され、その時点のヒープ上のローカル変数の参照はガベージコレクションの対象となります。私はGoogleの "C#ガベージコレクションマネージド"を出発点として使用します。 – BrokenGlass
参考までに、タイトルに「Visual Studio C#」などのプレフィックスを付けないでください。それがタグのためのものです。 –
up:Roger that。申し訳ありません、もう一度やりません。 BrokenGlass:ありがとう、確かにそれについていくつかを読むだろう – Kedor