zerstören Ansicht(layout)
Kämpfe ich mit Speicherlecks jetzt. Also ich bin mal gespannt, ob es eine Möglichkeit manuell zu zerstören(in activity onDestroy-Methode) ?
Das gesamte layout(Aktivität contentView) ist ein bisschen komplexer, weil der Eltern-Kind-Referenzen, Kontext-Referenzen, tags, etc.
GC ist nicht in der Lage zu sammeln, die mein layout jetzt. Und das problem ist versteckt, tief in der Struktur anzeigen... Also ist der einzige Weg, um es zu finden - ist, zu versuchen, zu zerstören Blatt Ansichten Händisch so zu einem bestimmten moment-GC sammeln root-Ansicht, und geben Sie mir eine Erfahrung, wo ist problem liegt.
Meine layout-Struktur: ViewFlipper(RelativeLayout, ListView(ViewFlipper(RelativeLayout, RelativeLayout)))
InformationsquelleAutor Oleksandr | 2011-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entfernen Sie eine Ansicht aus einer ViewGroup, aber es gibt keine Möglichkeit manuell zu zerstören Aussicht. Wenn Sie immer sind memory-leaks, ist es meist, weil Sie halten einen langlebigen Bezug zu Ihrem Kontext außerhalb Ihrer Ansichten.
Es ist gut für Ansichten enthalten Informationen in Bezug auf andere Ansichten (d.h. der Kontext der anderen Ansicht), da alle Ansichten sind zerstört-es ist wahrscheinlich, weil der Kontext hielt durch etwas (und der Kontext ist ein handle auf die meisten Dinge, - D. H. aller Ihrer Ansichten), die Sie sind nicht in der Lage, um den Speicher frei.
InformationsquelleAutor Joseph Earl
Haben Sie irgendwelche Handler/Nachrichten in Ihren Ansichten, die Sie möglicherweise brauchen, um zu stoppen?
Ich hatte ein ähnliches Problem, wobei ich war das versenden von Nachrichten in einer Ansicht in regelmäßigen Abständen für eine animation. Ich brauchte halt/ignorieren Sie die Nachrichten und stop queuing mehr, sobald die activity OnDestroy() ausgelöst wurde.
InformationsquelleAutor CatalystNZ