webForumDet fria alternativet

[C#] Drar programmet mycket minne?

.NET

1 svar · 250 visningar · startad av dAEk

Medlem sedan feb. 20041 816 inlägg
Frågan#1

Sitter och testar mig fram med C# och har en liten fråga om förbrukningen av minne, det går åt en jäkla massa!?

Jag har nu ett enkelt fönster som adderar 2st tal, och det drar ca 8400 k om man kollar i task managern, jag bifogar kod nedan ifall ngn ser nåt som är knas. Är 8000 mycket eller är det fullt normalt?
Jag är som sagt rätt grön på det här men för ett så enkelt program tycker jag att det verkar lite mycket.

Vet inte om detta är normalt heller, men det verkar lite halvkonstigt.. minimerar man fönstret och sedan återställer det igen har minnesanvändningen sjunkit till ~2000, en markant skillnad! Är detta normalt?
[edit: testade samma grej med notepad och det är samma sak där, varför är det så?]

using System;
using System.Drawing;
using System.Windows.Forms;

public class frmFirstForm:Form {
	private Label lblResult;
	private Label lblTitle;
	private Button btnAdd;
	private Button btnExit;
	private TextBox txt1;
	private TextBox txt2;
	private EventHandler handler;

	// Constructor
	public frmFirstForm() {
		ClientSize    = new System.Drawing.Size(400,300);
		StartPosition = FormStartPosition.CenterScreen;

		lblResult          = new Label();
		lblResult.Size     = new Size(50,30);
		lblResult.Location = new Point(175,110);
		lblResult.Text     = " ";
		Controls.Add(lblResult);

		lblTitle          = new Label();
		lblTitle.Size     = new Size(100,100);
		lblTitle.Location = new Point(100,10);
		lblTitle.Text     = " Add two numbers ";
		Controls.Add(lblTitle);

		txt1          = new TextBox();
		txt1.Size     = new Size(80,30);
		txt1.Location = new Point(50,40);
		txt1.Text     = " ";
		Controls.Add(txt1);

		txt2          = new TextBox();
		txt2.Size     = new Size(50,30);
		txt2.Location = new Point(210,40);
		txt2.Text     = " ";
		Controls.Add(txt2);

		handler         = new EventHandler(oneFunction);
		btnAdd          = new Button();
		btnAdd.Size     = new Size(80,30);
		btnAdd.Location = new Point(10,210);
		btnAdd.Text     = " Add ";
		btnAdd.Click   += handler;
		Controls.Add(btnAdd);

		btnExit          = new Button();
		btnExit.Size     = new Size(80,30);
		btnExit.Location = new Point(210,210);
		btnExit.Text     = " Exit ";
		btnExit.Click   += handler;
		Controls.Add(btnExit);
	}

	private void oneFunction(Object source, EventArgs e) {
		if(source == btnExit)
			Application.Exit();
		if(source == btnAdd) {
			lblResult.Text = " " + (Int32.Parse(txt1.Text) + Int32.Parse(txt2.Text));
		}
	}

	public static void Main() {
		Application.Run(new frmFirstForm());
	}
}
Medlem sedan sep. 2000780 inlägg
277 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
140 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)