Ich verwende den folgenden Code, um einige temporäre Dateien zu erstellen, und wrapped als Eingangsteam, das an die Client-Seite gesendet werden soll.
Ich verstehe, dass die temporären Dateien automatisch von Android-System gelöscht werden können, wenn der Speicherplatz knapp ist.
Aber ich hoffe, ich kann die temporären Dateien selbst löschen, wenn ich die App verlasse, wie kann ich das tun? Vielen Dank!
Code
%Vor% Löschen Sie die Dateien in onDestroy
, wenn isChangingConfigurations()
ist false
oder isFinishing
ist true
. Beispiel:
Rufen Sie die Methode deleteOnExit()
auf!
Oder
Rufen Sie die Methode delete()
in Ihrer onStop()
auf Aktivität.
Bearbeiten:
Es könnte besser sein, wenn Sie delete()
in% co_de aufgerufen haben %, um sicherzustellen, dass Ihr Code funktioniert, selbst wenn die App vom System zerstört wird.
Denken Sie daran, dass "Beenden" für eine Android-App etwas ganz anderes bedeutet als für eine Desktop-Anwendung. Weitere Informationen finden Sie in diesem Artikel . Die kurze Antwort lautet jedoch, dass Sie im Allgemeinen no haben Idee , wenn das Betriebssystem Ihre App schließen soll (auch wenn sie nicht sichtbar ist). Tatsächlich gibt es keine explizite Garantie, dass das Betriebssystem es überhaupt schließt.
Ein paar Ideen können hier gefunden werden (es ist C # / Xamarin.Android, aber genau die gleiche Idee für Java): Wie erkennen Anwendung beenden auf Android?
Zusätzlich zu den dort aufgeführten Dingen könnten Sie auch versuchen, Broadcast-Empfänger für das Herunterfahren des Telefons zu registrieren.
Ein anderer (schlimmer, meiner Meinung nach) Weg ist einfach, wenn die App nicht mehr sichtbar ist (in onStop
). Wie oben erwähnt, ist dies jedoch nicht dasselbe wie das Programm, das tatsächlich schließt (weil Sie nicht wissen, wann - oder sogar wenn - das Betriebssystem die App tatsächlich schließt).
Leider müssen Sie diese Dateien einzeln löschen, indem Sie sie zuvor in einem Array speichern.
Wenn Sie die Android-Entwickler Seite zu diesem Problem überprüfen es macht es so, als ob Sie die zwischengespeicherten Dateien "regelmäßig löschen könnten und auch regelmäßig andere Dateien löschen könnten, die Sie nicht mehr benötigen". Ich glaube jedoch nicht, dass es eine Erklärung dafür gibt.