Angenommen, ich habe 3 Aktivitäten Demo1, Demo2, Demo3 und eine Klasse GlobalClassWelche Aktivitäten werden per GC aus dem Speicher gelöscht?
GlobalClass
public Class GlobalClass{
public static int staticVar = 1;
}
Demo1
public Class Demo1 extends Activity{
onCreate(){
if(buttonClicked = 1){
openDemo2();}
else{
openDemo3();}
}
}
Demo2
public Class Demo2 extends Activity{
int var = 10;
onCreate(){
GlobalClass.staticVar = var;
}
}
Demo3
public Class Demo3 extends Activity{
onCreate(){
int var = GlobalClass.staticVar;
}
}
So können nun davon ausgehen, wir Demo1 sind und wir öffnen Demo2 erste. Dann schließen wir Demo2, kehren zu Demo1 zurück und öffnen Demo3. Dann schließen wir auch Demo3 und kehren zu Demo1 zurück.
Deshalb an dieser Stelle der Aktivität/Aktivitäten im Speicher nach GC sein werden?
Wird die gesamte Ansicht (Layout dieser Aktivität) für diese Aktivität im Speicher gespeichert?
Wird statische Variable einen Unterschied machen?
Eigentlich musste ich wissen, ob die Aktivität, in der die statische Variable referenziert wird oder von der die statische Variable einen Wert erhalten hat, welche davon im Speicher bleiben würde? –
Hauptpunkt hier ist die statische Variable. Ich muss wissen, wird statische Variable einen Unterschied machen? –
Es ist eine sehr schlechte Idee, statische Daten zwischen Aktivitäten zu teilen, da sie unabhängige Lebenszyklen haben. Das heißt, die Klasse, die Sie mit einem statischen Feld erstellt haben, das von allen Klassen verwendet wird, sollte existieren, solange eine der Aktivitäten existiert. –