Ich habe eine Frage darüber, wie Speicher des Fragments freigeben, nachdem ich getSupportFragmentManager() codieren. PopBackStack()?Wie kann ich den Speicher des Fragments freigeben, nachdem ich getSupportFragmentManager() programmiert habe? PopBackStack()? Ich entferne es, aber Widgets instanziiert auch
FRAGE 1
Es gibt Fragment A und B. sie wie folgt definieren:
Fragment A = new Fragment();
Fragment B = new Fragment();
Änderung A zu B und fügen A in den Stapel zurück.
getSupportFragmentManager().beginTransaction()
.addToBackStack("A")
.replace(R.id.frame_content, A)
.commit();
Aber wenn ich onBackPress (rufen Sie die popBackStack) aufrufen, wird etwas Speicher von B falsch.Die wird nicht freigegeben, und es ist sogar noch mehr. Der letzte zugewiesene Speicher in Android Monitor ist 14,66 MB. Aber wenn ich platze, ändert sich der Speicher auf 14,72 MB. Ich möchte wissen, wie ich das beheben kann?
getSupportFragmentManager().popBackStack();
FRAGE 2
Es gibt Fragment A und B.
A Listview in A und, wenn ich Artikel klicken, wird A durch B ersetzt und A in den hinteren Stapel hinzufügen (genau wie die FRAGE 1).
Fragment B besitzen eine ScrollView. Wenn ich einen Bildlauf durchführe, scrolle ich zB zu Position A. Dann gebe ich popBackStack() zurück. Wenn ich auf ein anderes Element in A klicke, gebe ich wieder B ein, aber die ScrollView ist ebenfalls in Position A. Es sollte in der Startposition sein. Ich vermute, dass, weil die Scrollview nicht recycelt wurde. Wie es zu beheben?
Bitte. Irgendwelche Wucherungen werden geschätzt! Es hat lange gedauert. Macht mich verrückt.
Vielen Dank. Ich missverstehe den Android Monitor. Ich dachte, dass es zu einem Speicherleck kommt, wenn der zugewiesene Speicher nach dem Popping nicht nachgelassen hat. Es sollte auf das gelbe Auto in der Symbolleiste von Memory klicken. – JonsTank
Gern geschehen, froh, dass ich helfen konnte. Ich habe kein gelbes Auto, aber ich erinnere mich, dass es vielleicht ein Plugin war, dass man auf das Icon klicken und die Müllsammlung erzwingen konnte – Pomagranite