ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
421
421
EMPFEHLEN
-
Hallo Community!
Habe mir einen Java Client mit SWT Components geschrieben der auch die Möglichkeit bietet mit einem Browser ins Internet zu gehen.
Dieser Client läuft auf einer ziemlich schwachen Plattform und das Non-Stop Tag für Tag.
So weit so gut ...
Jedoch um so mehr webseiten ich aufrufe, um so mehr RAM wird verbraten und nicht mehr abgebaut.
Ich hab jetzt versucht dass wenn ich im Client auf eine andere Seite ohne Browser gehe (StackLayout) das ich die URL im browser auf about:blank setze.
Hat aber nichts geholfen. Der Browser behält seinen RAM.
Jetzt wollte ich beim verlassen der Seite den Browser mit dispose() zerstören
und wenn ich wieder zurück gehe auf die Seite einen neuen Browser erzeugen.
Jedoch beim zurück gehen wird der Browser nur mehr ganz klein genneriert.
das Composite welches herein kommt hat die Grösse 900x600PHP-Code:private Composite m_oComp;
private Browser m_oBrowser;
public void createSide(Composite composite)
{
m_oComp= new Composite(composite, SWT.NONE);
m_oComp.setLayout(new FillLayout());
m_oBrowser= new Browser(m_oComp, SWT.NONE);
m_oBrowser.setUrl("http://www.google.com");
}
und der Browser wird mir korrekt angezeigt.
PHP-Code:public void destroyBrowser()
{
m_oBrowser.dispose();
m_oBrowser= null;
}
jetzt ist der Browser aber nur mehr so 50x50PHP-Code:public void newBrowser()
{
m_oBrowser= new Browser(m_oComp, SWT.NONE);
m_oBrowser.setUrl("http://www.google.com");
m_oComp.pack();
}
obwohl die Seite noch 900x600 hat
mach ich da irgendetwas falsch?
schon mal Danke für eure Hilfe!
pcAlko
Geändert von pcAlko (02.02.12 um 18:55 Uhr)
-
02.02.12 19:13 #2
- Registriert seit
- Jun 2009
- Beiträge
- 870
Hi
Nutze doch bitte Java-Codetags (wie in meiner Signatur zu sehen ist).
Das Zerstören des Browsers dürfte nicht sinnvoll sein. Stattdessen solltest du darauf achten, dass du eine aktuelle Version von SWT mit aktuellem Browser (z.B. XulRunner 10.0) nutzt. In älteren Versionen von XulRunner (bis ca. Version 7) war ein massives Memory Leak enthalten. Um Speicher frei zu machen solltest du besser System.gc() aufrufen, wenn möglich.Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
Hi genodeftest.
Danke für Deine schnelle Antwort.
Das mit dem XulRunner ist ein Problem!
auf meinem Ubuntu ist die Version 1.9.2.24
auf dem alix-board, welches ich zuvor mit kleiner Plattform beschrieben habe, läuft ein Debian-Squeeze und dort ist gar kein xulranner
hab dort den epiphany-browser installiert
weil ich dachte SWT nimmt eh den Browser welcher installiert ist.
komischer weise rennt dort aber der SWT-Browser ordnungs gemäß
Im Repository wäre aber auch nur die Version 1.9.1
hab's mal mit
probiert. Ein bisschen besser ist es, aber auch nicht die Welt!Code java:1
System.gc();
Aber danke für Deinen Tip
muss ich wohl damit leben
oder diesen mal selbst compilieren
wusste ich nicht
im Applet gibt's eben nur diesen für PHP
bin ja auch ein Grünschnabel
wie ja bei jedem meiner post's vermerkt ist
(ok, nein, jetzt mit 5 Beiträgen bin ich ja schon ein Rookie)
DANKE,
pcAlko
Geändert von pcAlko (02.02.12 um 20:16 Uhr)
-
02.02.12 20:27 #4
- Registriert seit
- Jun 2009
- Beiträge
- 870
Einfach den Xulrunner selber kompilieren, ist nicht so schwer. Anleitung dazu gibts z.B. unter http://wiki.ubuntuusers.de/Programme...en?redirect=no
SWT braucht entweder XulRunner oder WebKit (seit SWT Version 3.6), um den internen Browser darzustellen. siehe auch http://www.eclipse.org/swt/faq.php#browserlinux
Wenn du SWT >= 3.6 verwendest, könntest du SWT anweisen, WebKit zu verwenden. Wie das geht, steht auch in dieser FAQ. XulRunner 1.9.2.24 dürfte noch das Memory Leak haben.Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
Ähnliche Themen
-
Ausgabe in eine Zeile und wieder aufbauen?
Von lordfritte im Forum PHPAntworten: 2Letzter Beitrag: 22.04.06, 19:31 -
Problem mit MySQL connection(Connection aufbauen beenden und wieder connecten)
Von FBIagent im Forum C/C++Antworten: 1Letzter Beitrag: 04.04.06, 20:06 -
User Logout -> bei Browser Back wieder eingelogt!
Von rottroll im Forum PHPAntworten: 4Letzter Beitrag: 27.01.06, 12:42 -
Mal wieder css und andere Browser
Von visionsign im Forum CSSAntworten: 0Letzter Beitrag: 10.08.05, 11:34 -
Session zerstören
Von Fxice im Forum PHPAntworten: 1Letzter Beitrag: 27.03.05, 19:10





Zitieren
Login





