ich will ein kleines Delphi-Programm schreiben, welches nicht nur eine kleine EXE-Datei ausspuckt, sondern auch möglichst wenig Arbeitsspeicher verbraucht, da es immer im Hintergrund laufen soll.
Nun habe ich zum testen ein Projekt als „Textbildschirmanwendung“ kompiliert, welches den folgenden Quelltext hat:
program memdrv;
begin
readln;
end.
Das Programm startet, wartet auf einen Tastendruck und wird beendet.
Nun habe ich im Taskmanager nachgesehen und der zeigt 1,989 MB Speicherverbrauch an!
Ich habe alle Packages entfernt, in den Projektoptionen die MAP-Datei und Debug-Infos rausgeworfen und so eine 16kb große EXe-Datei erzeugt.
Wie schaffe ich es nun den Arbeitsspeicherverbrauch zu reduzieren ?
Gibt es da spezielle Tricks für ?
Wie schaffe ich es nun den
Arbeitsspeicherverbrauch zu reduzieren ?
Gibt es da spezielle Tricks für ?
Gar nicht, der Startupcode von Delphi vereinbart endlos lange Datenmengen, von denen es glaubt diese auf jeden Fall zum korrekten Laufen zu benötigen. Daher ist hier keine Einsparung mehr möglich. Wenn es nur darum geht eine kleine Hintergrundappliaktion die den PC bremst zu erstellen, dann nimm lieber Delphi 1, das verbrät viel weniger Speicher, erzeugt aber dafür auch nur 16Bit-Win-Proggies. Das dürfte für diesen Zweck aber eher wurscht sein, oder? Wenn gar nix hilft, dann mußt Du evntuell auf den TAsm32 ausweichen