Hallo, ich habe ein kleines Problem.
Ich habe ein Programm in C# .Net WindownsForms geschrieben dass meine E-Mail Accounts überwachen soll und mich über neue Mails informiert.
Ziel des ganzen war: Ein Tool zu besitzen dass Speichersparend und leicht zu bedienen ist. Da Thunderbird oder Outlook immer recht "viel" leistung brauchen und sich nicht richtig in den Hintergrund schieben lassen wollte ich ein Tool das einfach ein Icon bei der Uhr hat und ein alle x minuten mein Mails checkt. Lesen und abfragen kann ich diese dann ja über den richtigen Client.
Jedoch das mit dem Speichersparen ist so eine Sache ^^ Beim Start das Programms benötigt es ca. 9MB. Dann starten die ganzen abfragen der Postfächer. Dabei braucht der Thread für die Abfrage etwas CPU-Last. Danach schläft der Thread und wartet darauf, neue Abfragen machen zu dürfen. Jedoch ab diesem Moment fängt der Arbeitsspeicher immer mehr zuzunehmen. Es wird relativ schnell mehr und steigt auf ca. 17MB an, dort pendelt es sich erstmal ein. Über einen Tag hinweg sind es dann 19MB usw.
Ich kann mir das nicht so ganz erklären. Ich habe stark darauf geachtet Variabeln immer dann zu erstellen wenn ich sie brauche. Locale Variabeln sind nach beenden der Methode/Funktion eh wieder weg und "Globale" gibt es nur 6. Bei jedem neuen Objekt habe ich drauf geachtet immer ein Dispose zu machen. Die Verbindung zu dem Server nach der Abfrage zu beenden usw.
Meine Frage ist also, was könnte sonst noch dazu beitragen? Ich kann hier schlecht den ganzen Code schicken denn ich denke nicht dass jemand lust hat sich da ganz durchzukämpfen
Ich danke euch!
Ich habe ein Programm in C# .Net WindownsForms geschrieben dass meine E-Mail Accounts überwachen soll und mich über neue Mails informiert.
Ziel des ganzen war: Ein Tool zu besitzen dass Speichersparend und leicht zu bedienen ist. Da Thunderbird oder Outlook immer recht "viel" leistung brauchen und sich nicht richtig in den Hintergrund schieben lassen wollte ich ein Tool das einfach ein Icon bei der Uhr hat und ein alle x minuten mein Mails checkt. Lesen und abfragen kann ich diese dann ja über den richtigen Client.
Jedoch das mit dem Speichersparen ist so eine Sache ^^ Beim Start das Programms benötigt es ca. 9MB. Dann starten die ganzen abfragen der Postfächer. Dabei braucht der Thread für die Abfrage etwas CPU-Last. Danach schläft der Thread und wartet darauf, neue Abfragen machen zu dürfen. Jedoch ab diesem Moment fängt der Arbeitsspeicher immer mehr zuzunehmen. Es wird relativ schnell mehr und steigt auf ca. 17MB an, dort pendelt es sich erstmal ein. Über einen Tag hinweg sind es dann 19MB usw.
Ich kann mir das nicht so ganz erklären. Ich habe stark darauf geachtet Variabeln immer dann zu erstellen wenn ich sie brauche. Locale Variabeln sind nach beenden der Methode/Funktion eh wieder weg und "Globale" gibt es nur 6. Bei jedem neuen Objekt habe ich drauf geachtet immer ein Dispose zu machen. Die Verbindung zu dem Server nach der Abfrage zu beenden usw.
Meine Frage ist also, was könnte sonst noch dazu beitragen? Ich kann hier schlecht den ganzen Code schicken denn ich denke nicht dass jemand lust hat sich da ganz durchzukämpfen

Ich danke euch!