Czy stara aplikacja jest odinstalowywana po aktualizacji?

11

Chcę wiedzieć, kiedy aktualizacja jest dostępna dla aplikacji, oczywiście jest tam nowa aplikacja. Czy to dlatego, że stary apk został odinstalowany, a nowy apk został zainstalowany?

Ankit
źródło

Odpowiedzi:

16

Nie całkiem, nie. Po odinstalowaniu pakietu usuwa również inne dane związane z tym pakietem: na przykład prywatne dane aplikacji, dane na karcie SD, domyślne preferencje dla tej aplikacji. Informuje również wszelkie inne zainteresowane aplikacje, że usunąłeś aplikację, poprzez zamierzoną transmisję . Inne aplikacje odbierające tę transmisję mogą na tej podstawie podjąć dalsze działania: na przykład program uruchamiający (aplikacja na ekranie głównym) usuwa z niej skróty i widżety na pulpicie, ponieważ nie będą one już działać.

Gdy pakiet jest aktualizowany (to znaczy zastępowany nowym plikiem APK o tej samej nazwie i późniejszym kodzie wersji), stara wersja jest zatrzymywana, więc nic z aplikacji nie działa. Stary plik APK jest usuwany, a nowy zastępuje go, ale inne czynności odinstalowywania nie są wykonywane: dane aplikacji prywatnej i preferencje domyślne są zachowane, a transmisja odinstalowywania nie jest wysyłana. Zamiast tego nadawany jest inny zamiar informowania wszystkich zainteresowanych aplikacji, że pakiet został zaktualizowany.

Tak więc, gdy stary plik APK jest usuwany, efekt uaktualnienia jest zupełnie inny niż odinstalowanie starego pakietu, a następnie zainstalowanie nowego.

W Google Play sytuacja może się nieco różnić, jeśli programista włączył aktualizacje delta (nazywane przez Google inteligentnymi aktualizacjami).

W aktualizacji delta tylko zmiany między dwiema wersjami są pobierane i stosowane w istniejącym pliku APK. Na przykład, jeśli masz aplikację o rozmiarze 15 MB, a programista zdecyduje się zmienić obraz tła, nie musisz ponownie pobierać całej aplikacji, możesz po prostu pobrać różnicę (różnicę), która obejmuje nową wizerunek. Stary APK jest następnie duplikowany, nowa zawartość jest wstrzykiwana do kopii starego APK, a jeśli się powiedzie, stary APK zostanie usunięty. Końcowym rezultatem jest zaktualizowany APK.

Dan Hulme
źródło
To jasna odpowiedź! Czy możesz powiedzieć, jak usunąć stare dane aplikacji podczas instalacji nowej aktualizacji?
lifeLongLearner
@lifeLongLearner Wystarczy użyć przycisku „wyczyść dane” w Ustawieniach, tak samo jak w innym przypadku.
Dan Hulme,