Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst C-Sharp - Speicherbedarf (Arbeitsspeicher) steigt waehrend Programm auf Eingabe wartet

Mitglied: mabue88

mabue88 (Level 2) - Jetzt verbinden

21.11.2011 um 09:48 Uhr, 3423 Aufrufe, 2 Kommentare

Ich arbeite gerade an einem Programm, um waehrend der Arbeit verschiedene Daten schnell und einfach zu tracken. Um die Eingabe so schnell und so einfach wie moeglich zu machen, wird mit einer Tastenkombination eine Vorauswahl getroffen. Hierbei wird gleichzeitig geprueft, ob ein bestimmtes Fenster geoeffnet ist, da aus diesem Fenster dann ein String uebernommen wird. Prinzipiell funktioniert das Programm, aber der Speicherbedarf im Arbeitsspeicher steigt staendig weiter an. Und da das Programm eventuell mehrere Stunden laufen wird muss ich das verhindern. Hat jemand einen Tip, wie ich das verhindern kann?

Hier der entsprechende Code:
01.
int chars = 256; 
02.
StringBuilder buff = new Stringbuilder(chars); 
03.
string fenster; 
04.
 
05.
int eingabe = 0; 
06.
IntPtr handle; 
07.
 
08.
//Schleife so lange bis Eingabe getaetigt 
09.
while(eingabe == 0) 
10.
11.
	//Name von aktivem Programm ermitteln 
12.
	handle = GetForegroundWindow(); 
13.
	GetWindowText(handle, buff, chars); 
14.
	fenster = buff.ToString(); 
15.
 
16.
	if(fenster.Contains("Internet Explorer")) 
17.
18.
		//Pruefen ob Shift gedrueckt ist 
19.
		if(GetAsyncKeyState(Keys.ShiftKey)) 
20.
21.
			//Pruefen ob F5 gedrueckt ist 
22.
			if(GetAsyncKeyState(Keys.F5)) 
23.
				eingabe = 1; 
24.
			//Pruefen ob F6 gedrueckt ist 
25.
			else if(GetAsyncKeyState(Keys.F6)) 
26.
				eingabe = 2; 
27.
			else 
28.
				eingabe = 0; 
29.
 
30.
31.
32.
	 
33.
	System.Threading.Thread.Sleep(5); 
34.
}
Danke
Mitglied: Blueberry
06.02.2012 um 18:35 Uhr
Hallo mabue88

Hast du schon mal geschaut, ob evtl. sich der StringBuilder voll laufen lässt?
Der StringBuilder verdoppelt sich ja ständig, wenn er Mal keinen Platz mehr hat... Ich würde Mal schauen, ob sich das Programm mit einem normalen String gleich verhält.

Btw. Registrier doch die Tasten und löse ein Event aus, wenn Shift + F5 oder Shift + F6 geklickt wurde, das würde dann die Prozessorlast sicherlich erleichtern und ein eventuelles Memoryleak in deiner Schlaufe kann so auch vermieden werden. Falls du nicht weisst wie, kann ich dir den Code sonst geben, schick mir einfach ne PN.

Gruss Blueberry
Bitte warten ..
Mitglied: mabue88
08.01.2013 um 12:46 Uhr
Ich bin gerade über diese Frage von mir gestoßen. Auch wenn sie schon älter ist, will ich noch was dazu schreiben.
Ich habe damals das Programm über mehrere Tage laufen lassen und dabei den Speicherbedarf aufgezeichnet. Dabei stellte sich heraus, dass der Speicherbedarf (laut Taskmanager) sehr schwankt, aber nicht ins Utopische steigt. Die aufgezeichneten Daten zeigen, dass der Speicherbedarf im Schnitt bei ca. 3 MB lagen. Daher habe ich das Programm nicht umgeschrieben.

Trotzdem vielen Dank!!!
Bitte warten ..
Ähnliche Inhalte
IDE & Editoren
IDE für C-Sharp und C++ auf Windows
gelöst Frage von BugdroidIDE & Editoren8 Kommentare

Hallo, Ich nutze derzeit Visual Studio, aber auf Dauer ist es mir etwas zu Ressourcenfressend und für meine Zwecke ...

C und C++
C Sharp XAML Universal
Frage von DippsC und C++3 Kommentare

Hallo ich versuche gerade mit C#2015 ein Projekt Universal XAML zu erstellen um auf einem Raberry PI 2 mit ...

C und C++
C-sharp SearchPattern (Regex)
Frage von YanmaiC und C++6 Kommentare

Hallo ihr Administratoren, ich verwende ein AUtocpmpletemenu Plugin. Dort habe ich Snippets, die dann sozusagen completed werden. Beim erstellen ...

C und C++
C-sharp Form buggt
gelöst Frage von YanmaiC und C++2 Kommentare

Hallo ihr Administratoren. Ich habe ein kleines Problem. Unszwar möchte ich eine Ordner von C# zu einem PHP Script ...

Neue Wissensbeiträge
Windows Netzwerk
Browser-Lags und IPv6
Erfahrungsbericht von NixVerstehen vor 4 StundenWindows Netzwerk1 Kommentar

Hallo zusammen, wir betreiben als kleines Speditionsunternehmen ein überschaubares Windows-Netzwerk mit Win10-Clients sowie einem Server 2016 Essentials als "eierlegende ...

Humor (lol)

Erstaunlich, Windows mit extremer Laufzeit (Server) lol

Tipp von mathu vor 6 StundenHumor (lol)3 Kommentare

Was es so alles gibt. :-)

Windows Netzwerk

CGM Praxisarchiv funktioniert auf Clients nach Update auf 4.14 nicht mehr

Tipp von MOS6581 vor 1 TagWindows Netzwerk

Moin, ein Kunde setzt das CGM-Praxisarchiv ein. Mehrplatzinstallation mit SQL-Server. Nachdem letzte Woche auf die 4.14 aktualisiert wurde, funktionierte ...

Windows 10

Windows 10 - Storage Sense - neues herstellerseitiges Cleaning-Tool statt cleanmgr

Tipp von mathu vor 1 TagWindows 102 Kommentare

Vermutlich ab dem Oktoberrelease wird eine neue Speicherbereinigungssuftware ausgeliefert von Microsoft. Cleanmgr.exe soll angeblich aber noch weiter parallel verfügbar ...

Heiß diskutierte Inhalte
Hyper-V
Windows Serer 2016 Standard virtualisieren
gelöst Frage von fritte87Hyper-V31 Kommentare

Hallo zusammen, ich muss für eine kleine Firma ein entsprechendes neues kleines Konzept bauen. Ich habe einen Server Standard ...

LAN, WAN, Wireless
Kombiniere mehrere 4G Router zu einem Netzwerk - Anwendung kleine LAN (10-20 Leute)
Frage von HulkTheHeroLAN, WAN, Wireless24 Kommentare

Guten Mittag liebes Administrator - Fourm, ich hoffe ich habe das richtige Thema ausgewählt - ansonsten bitte gerne verschieben ...

Windows Server
Fileserver von 2012 R2 auf 2012R2
gelöst Frage von ThabeusWindows Server23 Kommentare

Moin moin, leider war in der Vergangenheit der Fokus des Betriebs nicht auf Langfristigkeit ausgelegt. Daher stehe ich jetzt ...

Router & Routing
Größere Zahl VPN-Verbindungen mit Fritz-Box einrichten
Frage von miscmikeRouter & Routing15 Kommentare

Hallo Zusammen, ich supporte verschiedene Kunden mit bestehenden LAN-LAN-Kopplungen via FritzBox (7490, FritzOS 7.01) . Anwendungen sind z.B. Kaspersky-KSC ...