AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Memory Leaks im Webservice (Unter iOS & Android)

Memory Leaks im Webservice (Unter iOS & Android)

Ein Thema von junglist · begonnen am 16. Mai 2017 · letzter Beitrag vom 23. Mai 2017
Antwort Antwort
junglist

Registriert seit: 21. Jul 2015
Ort: Schweiz
36 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Memory Leaks im Webservice (Unter iOS & Android)

  Alt 16. Mai 2017, 14:59
Zitat:
login, logout und sess habe ich "nur" noch 400-500 Leaks statt 900 pro Login- und Logout Routine.
Dann läuft da aber grundsätzlich irgendwas sehr schief bei dir.
Meinst du?

1) Neues Projekt
2) WSDL-Datei importieren und WSDL-Datei in Bereitstellung tun
3) openSSL-Dateien in Bereitstellung reintun
4) DataModule mit SOAPLogin und SOAPLogout
5) ButtonClick

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  cn: TDataModule;
begin
  cn := TDataModule.Create(nil);
  try
    cn.SOAPLogin;
    cn.SOAPLogout;
    ShowMessage('done');
  finally
    cn.Free;
  end;
end;
^ Gibt mir immer noch 400-500 Leaks pro Click (In xCode Instruments!! Ich weiss nicht, ob das bei "einem Leak mehr anzeigt")



Was kann denn falsch sein, die importierte WSDL-Datei, die Art wie ich den Webservice aufrufe, oder..?
  Mit Zitat antworten Zitat
junglist

Registriert seit: 21. Jul 2015
Ort: Schweiz
36 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Memory Leaks im Webservice (Unter iOS & Android)

  Alt 17. Mai 2017, 14:04
Ich habe in den Bildern eine Aufzeichnung von n paar Memory Leaks in xCode.

Das wäre doch eine zirkuläre Referenz, nicht?
Kann ich da jetzt etwas machen, wenn das in Indy's Komponenten (TIdSSLContext und TIdSSLSocket wie auf dem Bild z.B.) ist, ausser einfach die Dateien zu kopieren und zu verändern?

Oder bin ich komplett auf dem falschen Weg?
Angehängte Grafiken
Dateityp: png grafik(1).png (34,1 KB, 16x aufgerufen)
Dateityp: png grafik.png (95,6 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
junglist

Registriert seit: 21. Jul 2015
Ort: Schweiz
36 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Memory Leaks im Webservice (Unter iOS & Android)

  Alt 22. Mai 2017, 15:46
Delphi-Quellcode:
function TDataModule.getWeatherCities:string;
var
  WSInterface: GlobalWeatherSoap;
begin
  WSInterface := GetGlobalWeatherSOAP;
  result := WSInterface.GetCitiesByCountry('Switzerland');
  WSInterface := nil;
end;


procedure TForm2.Button1Click(Sender: TObject);
var
  cn: TDataModule;
  cities:string;
begin
  cn := TDataModule.Create(nil);
  try
    cities := cn.GetWeatherCities;
    Memo1.Lines.Add(cities);
    Button1.Text := BUtton1.Text + 'done';
  finally
    cn.DisposeOf;
  end;
end;
Webservice: http://www.service-repository.com/se...ew/-2082028434

Hiermit gibt es keine Leaks. Kann ich also sicher davon ausgehen, dass der Leak irgendwo in den SSL-Units passiert? Schliesslich passiert das erst wenn ich einen SessionHeader mache und vor jedem Call schicke.

Bin im Moment ratlos, was ich denn tun könnte, ausser zu versuchen die SSL-Units zu "fixen"? (Was für mich wohl nicht in 'nem Tag gemacht wäre)


Grüsse
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Memory Leaks im Webservice (Unter iOS & Android)

  Alt 23. Mai 2017, 10:30
Wir haben auch bereits festgestellt, dass es unter iOS und Android in den Indy-SSL-Routinen irgendwo Speicherlecks gibt. Wo genau aber, keine Ahnung. Da der Entwickler von Indy (Remy Lebeau) laut eigener Aussage Indy nicht unter den mobilen Plattformen testet, befürchte ich, dass es hier auch langfristig keine Besserung geben wird
  Mit Zitat antworten Zitat
junglist

Registriert seit: 21. Jul 2015
Ort: Schweiz
36 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Memory Leaks im Webservice (Unter iOS & Android)

  Alt 23. Mai 2017, 14:23
Hm, schade.

Aber danke für die Bestätigung!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.476 Beiträge
 
Delphi 12 Athens
 
#6

AW: Memory Leaks im Webservice (Unter iOS & Android)

  Alt 23. Mai 2017, 14:29
Aber gerade nur bei den Mobilen ist ARC aktiv, womit es dort ein verändertes Speichermanagement gibt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz