2017-06-03 5 views
0

Ich habe eine Legierung App. Es hat 7 Fenster und öffnet sich gleichzeitig. Wenn Benutzer ein geöffnetes Fenster schließen, wird $.removeListener(); $.destroy(); Codes bei Fenster schließen Ereignis ausgeführt. Aber ich bekomme Speicherlecks auf Android-Gerät. % 90 Windows hat ListView, jedes Fenster hat max 2 Listview. Was ist der richtige Ansatz für mehrere Fenster?Speicherlecks von Appcelertor Alloy App erhalten

Antwort

0

Zuerst, warum Sie 7 Fenster zur gleichen Zeit öffnen möchten, wenn der Benutzer nur maximal 1 Fenster gleichzeitig sehen kann.

Es ist tot einfach, öffnen Sie nur das Fenster, das Benutzer zuerst sehen sollte, & erstellen Sie einen Link-Flow zu anderen Fenster im vorherigen Fenster.

Können Sie an irgendeine App im Play Store denken, die dies tut, wenn Sie, dann senden Sie mir bitte den Link, ich würde es wirklich lieben, es zu überprüfen?

Aber wenn Sie meinen, dass Benutzer zu sagen, alle Fenster zur gleichen Zeit in einem Scroll-Verhalten oder wie Paging sehen, gehen Sie dann zu Ti.UI.TabGroup

+0

Denken Sie über Ajax Browser-Navigation. Wie kann ich das mit appcelerator machen? – Kerberos

+0

Ich habe eine physische Datei für das Fenster. Wenn Benutzer Parameter an diesen Fensterinhalt übergeben, ändert sich dies. Zusätzlich zu dieser Datei habe ich 4 physische Dateien mehr. – Kerberos

+0

Dies ist ein Stil, den Sie verwenden können, wie @ Prashant Saini in einem anderen Kommentar oben erwähnt. Jede Legierung Controller könnte als Basis anstelle von verwenden und dann fügen Sie und entfernen Sie die Basisansicht, wie Sie sehen etc. –

0

Sind Sie 100% sicher, dass Ihre Veranstaltung Zuhörer werden entfernt?

Ich weiß nicht die Funktion $.removeListener(); ist dies eine benutzerdefinierte Funktion?

Als allgemeine Regel, die ich versuchen, so viele meiner Veranstaltung Zuhörer in die xml setzen, da diese automatisch entfernt werden, und haben eine benutzerdefinierte Funktion destroyMe() die onClose läuft, die alle anderen Zuhörer entfernt, die ich verwendet habe, kann und $.destroy()

Ti.App.addEventListener ist auch ein Killer, stellen Sie sicher, dass diese entfernt werden, wenn Sie sie verwenden!

ps: ich völlig verstehen, die Windows 7-Bit-:-)

+0

können Sie mir sagen, warum er 7 Fenster gleichzeitig öffnen muss? –

+0

z.B. Verwenden eines Navigationsfensters unter iOS mit 7 Fenstern. Android hat diese Komponente nicht und daher ist es die Alternative, für jeden Schritt neue Fenster zu öffnen und sie offen zu halten. Ich könnte die App aber total falsch verstehen :-) –

+0

Aber warum musst du sie offen halten? Wofür? NavigationWindow ist nur eine Box, die Ihre Fenster organisiert, aber immer noch einzelne Fenster gleichzeitig anzeigt. Wie Benutzer dieser Frage sagt, öffnet es 7 Fenster zur gleichen Zeit, das ist, was ich versuche zu verstehen. : D –