Kann der Collector Collector die Singleton-Instanz freigeben? (und warum oder wie man es vermeidet)

8

In Android habe ich Singleton-Klasse, aber ich bin mir nicht sicher, ob der Müll Collector es freigeben kann.

Wenn Müll Collector meine Singleton-Klasse aufheben wird, wie kann es verhindern, dass die Zuordnung aufgehoben wird?

    
Rooban Ponraj A 02.03.2013, 16:06
quelle

3 Antworten

3

Garbage Collection sammelt Objekte, auf die nichts gezeigt wird, es sei denn, eine Referenz ist statisch. Sind statische Felder für die Garbage-Collection geöffnet?

    
Shellum 02.03.2013 16:10
quelle
1

Der einzige Grund, warum gc Ihre Instanz abhandelt, ist, wenn die gesamte App zerstört wird ...

    
Chen Kinnrot 02.03.2013 16:08
quelle
1

Es gibt viele Möglichkeiten, ein Singleton zu implementieren. Eine der besten ist:

%Vor%

Ob etwas ein Singleton ist oder nicht, hat keinen Einfluss darauf, ob es GCed ist oder nicht. Ein Objekt wird ignoriert, wenn es keine starken Referenzen darauf gibt. Schaut es euch an ( Ссылка ).

Es gibt noch ein weiteres Problem, das von Interesse ist. In Android steuert Ihre Anwendung den Lebenszyklus nicht. Es ist möglich, dass ein Prozess beendet und neu erstellt wird, wie Sie es nicht erwarten. Wenn dies geschieht, werden statische finale Variablen neu initialisiert. Hier ist mehr dazu:

Ссылка

    
G. Blake Meike 02.03.2013 16:37
quelle