Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung C und C++

Mitglied: mabue88

mabue88 (Level 2) - Jetzt verbinden

21.11.2011 um 09:48 Uhr, 3378 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
C und C++
gelöst C-Sharp Process.Start und SubProcesses (4)

Frage von mayho33 zum Thema C und C ...

C und C++
Ist "C Sharp" das Richtige für mich, als Neuling (8)

Frage von BlueLines zum Thema C und C ...

Windows Server
C sharp oder Powershell oder VB? (3)

Frage von 1410640014 zum Thema Windows Server ...

C und C++
gelöst C-sharp Form buggt (2)

Frage von Yanmai zum Thema C und C ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (26)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (16)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...