Hier ist ein Stück vereinfachten Code:Ist dies ein Leck im Android-Kontext?
static Activity longLivedField;
onCreate(...) {
longLivedField = this; // the only write to this field
}
Ich habe behauptet, dies als ein Zusammenhang Leck Menschen gesehen, und erstellen Sie Fixes für sie. Die typische Lösung besteht darin, das Feld an geeigneten Stellen aufzuheben. Zum Beispiel in onPause()
:
onPause() {
longLivedField = null;
}
Sind Sie diesen Zusammenhang zu halten tun? – accordionfolder
Ja. Und es gibt Vorschläge, dass wir das nicht tun sollten, sondern stattdessen getApplicationContext() verwenden. Aber ich möchte nur verstehen, warum dies ein Problem sein könnte. – dacongy