Einzelnen Beitrag anzeigen

Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Memory Leak bei virtuellem Speicher

  Alt 11. Nov 2008, 11:16
Zitat von Sherlock:
Gegenfrage: Wie kann man eigentlich unter Programmkontrolle angeben, welche Speicherart man gerne hätte?
Nur indem man es selbst implementiert, oder eine Speicherverwaltung verwendet, die selbiges unterstützt.

Notwendig/interessant ist dies nur in wenigen Fällen... Um ein praktisches Beispiel zu nennen: Eine Klasse in einer Anwendung fordert mehrere hunderttausend kleine Speicherbereiche an (zum Beispiel Dateinamen). Nutzt diese Klasse den Standard-Heap der Anwendung, dann wird es - trotz Freigabe aller Speicherbereiche - zur Heap-Fragmentierung kommen. Diese ungenutzten "Lücken" im Heap können im Laufe der Zeit dazu führen, dass für eine Anforderung eines größeren Blocks kein zusammenhängender freier Speicherbereich gefunden wird. Es steht also theoretisch genug freier Speicher zur Verfügung, aber nicht genug für große Blöcke. Wenn dies alles zutrifft, dann kann man darüber nachdenken, für diese "Liste" einen eigenen Heap zu verwenden, der anschließend komplett freigegeben werden kann.

Topic: Für records gibt es Finalize (System.pas).
  Mit Zitat antworten Zitat