Also, ich habe das ganze jetzt mal ausprobiert und mit Instruments kontrolliert.
Delphi-Quellcode:
IdHTTP := TIdHTTP.Create;
try
try
Xml := IdHTTP.Get(
Url);
except
on E:
Exception do
begin
ShowMessage ('
Error: ' + E.
Message);
Exit;
end;
end;
finally
IdHTTP.Free;
end;
Delphi-Quellcode:
IdHTTP := TIdHTTP.Create;
try
try
Xml := IdHTTP.Get(
Url);
except
on E:
Exception do
begin
ShowMessage ('
Error: ' + E.
Message);
Exit;
end;
end;
finally
IdHTTP :=
nil;
end;
Diese beiden Versionen nehmen sich nicht viel, was den Speicherverbrauch angeht. Hier wird bei jedem Aufruf immer so um die 700 bis 800 KB auf den gerade verbrauchten Speicherplatz dazu addiert.
Delphi-Quellcode:
try
if IdHTTP.Connected
then
IdHTTP.Disconnect;
strXml := IdHTTP.Get(strUrl);
except
on E:
Exception do
begin
ShowMessage ('
Error: ' + E.
Message);
Exit;
end;
end;
Bei dieser Variante läuft das ganze etwas langsamer ab. Die Komponente liegt auf der Form und wird nur einmal beim Start der Anwendung initialisiert. Hier sind es durchschnittlich 500 bis 600 KB beim verbrauchten Speicher dazu addiert.
Die Verbrauchsangaben beziehen sich auf die komplette Ausführung des Programms und nicht nur auf die oben genannten Codebeispiele.