Zerstören Absicht?
Wenn ich einen Vorsatz:
Intent in = new Intent(this, myclass.class);
this.startActivity(in);
Erstelle ich einen neuen Vorsatz, aber die Letzte Absicht nicht ist, zu zerstören
Es ist immer noch im Speicher
Wie kann ich töten das Letzte zerstören?
So, ich möchte erstellen Sie zwei Absichten, die in zwei unterschiedlichen Klassen:
in der ersten Klasse ich dies Schreibe:
Intent in1 = new Intent(this, myclass2.class);
this.startActivity(in);
und in der zweiten Klasse ich dies Schreibe:
Intent in2 = new Intent(this, myclass1.class);
this.startActivity(in2);
aber wenn ich Auf in1 erstellen und in2 zerstören wird, und wenn ich auf in2 die in2 erstellen und in1 zerstören.
einen reinigen wollen, mein Telefon Speicher.
- nur die grundlegenden n2=null;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verhindern, dass die Benutzer auf die vorherigen
Activity
durch überschreiben der zurück-Taste Funktionen, wie diese:Obwohl dieser Ansatz nicht gefördert.Und wie jeder weiß, der
Activity
werden automatisch getötet, wenn bestimmte Aspekte wie Speicherbedarf. Sie können nicht zerstörenActivity
an Ihrem freien Willen.Aber für spezielle Fälle wie ein Begrüßungsbildschirm angezeigt werden, vielleicht können Sie eine der folgenden zwei Dinge:
1) rufen Sie
finish()
- Methode auf die aktuellenActivity
wie Sie sich bewegen aufIhre neue
Activity
(in der Regel bei der Verwendung vonThread
).2) verwenden Sie den folgenden in Ihre
manifest
:Dieser wird Ihnen sagen, das Gerät nicht behalten dieses
Activity
auf dieActivity
stack.Aktivitäten bleiben im Speicher, bis Android entscheidet, es sollte entfernt werden. Mach dir keine sorgen. Es wird zerstört, wenn mehr Speicher benötigt wird. Es ist effektiv "ungenutzten" Speicher, bis Sie Ihren top-Aktivitäten verwendet wird.
Ich bin mir nicht sicher, um deine Frage zu verstehen...
Sie möchten starten Sie eine neue Aktivität und zerstören die Vorherige?
Wenn dies ist, was Sie brauchen, die Sie verwenden können:
Den "CLEAR_TOP" - flag setzen und zu sagen "Hey! Beginnen möchte ich diese Aktivität und tötet alle anderen!"
Da die Android-runtime-Umgebung verwendet garbage collection (ebenso wie die "traditionellen" Java), werden Sie nicht brauchen, um über sorgen manuell zerstören von Objekten in den meisten Fällen. Die Speicher aufgenommen, durch die ungenutzte
Intent
- Objekt wiederverwendet werden, wenn das system benötigt zusätzlichen Speicherplatz für neue Objekte.