2016-08-09 70 views
1

Ich habe eine Basisaktivität, die die reactInstanceManager enthält. Alle weiteren Aktivitäten erweitern diese. Mein Problem ist, dass zu viele Aktivitätsinstanzen in der Erinnerung stecken bleiben und es leckt. Ich dachte, dass reactInstanceManager ein Singleton ist, aber es ist nicht wahr.Reactive Native onHostDestroy()

Könnte mir jemand erklären, wie kann ich eine reactInstanceManager zerstören, wenn eine Aktivität beendet wurde (Starten einer anderen Aktivität)?

Ich habe versucht, onHostDestroy() in onDestroy() aufzurufen, aber es verursacht einen Absturz.

+0

ich in dem exakt gleichen Boot bin, wie Sie, haben Sie eine Abhilfe für dieses Problem finden? –

+0

hast du meine Antwort unten gesehen? Hat es geholfen? – Karoly

Antwort

0

Eine der Lösungen war die onDestroy() in der Grundaktivität zu implementieren:

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    if (mReactInstanceManager != null) { 
     mReactInstanceManager.removeReactInstanceEventListener(this); 
    } 
}