Wiem, że Bundle
może być używany do przekazywania danych między działaniami, a także do zapisywania i przywracania danych w przypadku zmian konfiguracji, takich jak obrót ekranu.Jak długo trwa pakiet?
Przeczytałem także, że preferowanym sposobem przechowywania trwałych danych jest SharedPreferences
, a nie Bundle
.
Dlaczego tak właściwie jest? Aby zmiana konfiguracji była możliwa przez Bundle
, musiałaby się ona utrzymywać nawet po zniszczeniu działania. Czym dokładnie jest długość życia Bundle
? Czy istnieje pewien punkt, w którym arbitralnie zostanie wyeliminowany przez odśmiecanie, czy dane są przechowywane przez okres Bundle
tak długo, jak długo nie zostaną ręcznie usunięte?
Kiedy uznaje się za zakończoną aktywność? Wiem, że nie jest, gdy działalność jest zniszczona. Wydaje się również, że gdy użytkownik naciśnie przycisk, aby zamknąć aplikację, pakiet zostanie zresetowany? Czy można zatem powiedzieć, że działanie zostało zakończone, gdy użytkownik ręcznie zamknie aplikację? – ryye
Aktywność ** została zakończona **, jeśli albo wymusisz zatrzymanie aplikacji, albo użytkownik naciśnie przycisk 'Back', a działanie' onBackPressed() 'wywoła metodę' finish() '. Możesz uzyskać dostęp do tego, czy działanie kończy się metodami 'onPause()', 'onStop()', 'onDestroy()', używając metody 'isFinishing()'. – EpicPandaForce