AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke iOS Webservice client -> Speicher leak? -> Low Memory event!
Thema durchsuchen
Ansicht
Themen-Optionen

iOS Webservice client -> Speicher leak? -> Low Memory event!

Ein Thema von weisswe · begonnen am 28. Jul 2015 · letzter Beitrag vom 28. Jul 2015
Antwort Antwort
weisswe
(Gast)

n/a Beiträge
 
#1

iOS Webservice client -> Speicher leak? -> Low Memory event!

  Alt 28. Jul 2015, 08:22
Hallo!

Ich habe einen iOS SOAP Webservice client erstellt (mit WSDL import).
Funktioniert auch soweit.
Nun hab ich einen Stress-Test gemacht - also alle paar Sekunden einen Call aufgerufen.
Nach ca. 5000 Calls meldet iOS den Event -> Low Memory und die Anwendung geht in den Hintergrund.
Hab zuerst gedacht es liegt am Netzwerk, dann an einem Timeout - doch alles Ok.
Unter Windows gibt es keine Probleme.
Auch habe ich verschiene Webservices auf verschiedenen Servern probiert - immer das gleiche Ergebnis.

Ist das ein bekanntes Problem? Kann es ein Fehler im XMLVendor sein (OmniXML)?? :-/
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: iOS Webservice client -> Speicher leak? -> Low Memory event!

  Alt 28. Jul 2015, 08:33
Riecht ja ein wenig nach ARC mit zirkulären Referenzen. Zwei Instanzen halten jeweils eine Referenz auf die andere Instanz und werden somit nicht freigegeben.

Unter Windows (Nicht-ARC) passiert das natürlich nicht.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
weisswe
(Gast)

n/a Beiträge
 
#3

AW: iOS Webservice client -> Speicher leak? -> Low Memory event!

  Alt 28. Jul 2015, 08:41
Die Frage ist nun wie ich das Problem vermeinden kann.
Ich rufe ja nur einen Call auf --> webservice.function().
Das tückische ist ja dass es nach n-Calls "sichtbar" wird.

Falls jemand auch eine iOS-App mit Webservice calls hat -> bitte auch mal einen Stresstest machen... :-/
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: iOS Webservice client -> Speicher leak? -> Low Memory event!

  Alt 28. Jul 2015, 08:45
Hast Du es mal mit anderen XML-Vendors versucht? Bringt es da das gleiche Ergebnis? Tritt das Verhalten auch im Simulator auf?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: iOS Webservice client -> Speicher leak? -> Low Memory event!

  Alt 28. Jul 2015, 08:54
Ich denke mal, dass es eher an OmniXML liegt.

Da gibt es die Beziehung zwischen TXMLNode und dem TXMLDocument . Jede Node-Instanz hat eine strong Referenz auf die Document-Instanz. Und wenn die Document-Instanz eine strong Referenz auf die Node-Instanzen hat, dann ist dein Speichergrab perfekt.

Prüfen kannst du das, indem du einfach mal in den Destruktor der Klassen eine Log-Ausgabe hineinbringst. Dann siehst du, ob und wann die freigegeben werden.

So wie ich das sehe, ist OmniXML nicht für ARC angepasst.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
weisswe
(Gast)

n/a Beiträge
 
#6

AW: iOS Webservice client -> Speicher leak? -> Low Memory event!

  Alt 28. Jul 2015, 09:13
Danke Sir Rufo für die Analyse.
Kann ist unter iOS einen anderen XML Vendor verwenden?
In der Doku steht das für Cross-Platform Apps der OmniXML verwendet werden soll.. :-/

Oder vielleicht mache ich bei der Zuordnung etwas falsch!?

Im program file habe ich als erste Zeile:
Delphi-Quellcode:
begin
   DefaultDOMVendor := sOmniXmlVendor;
   Application.Initialize;
   ...
end;
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: iOS Webservice client -> Speicher leak? -> Low Memory event!

  Alt 28. Jul 2015, 09:23
Du kannst auch sAdom4XmlVendor verwenden.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: iOS Webservice client -> Speicher leak? -> Low Memory event!

  Alt 28. Jul 2015, 09:38
Hast Du Dir mal Deinen Speicher mit Instruments angesehen?
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz