Answers:
不完全不。卸载软件包时,它还会删除与此软件包有关的其他数据:例如,应用程序自己的私有数据,SD卡上的数据,该应用程序的默认首选项。它还通过意图广播告知其他感兴趣的应用程序您已删除该应用程序。收到该广播的其他应用可能会基于此采取进一步的措施:例如,启动器(主屏幕应用)将从该应用中删除桌面快捷方式和小部件,因为它们将不再起作用。
升级软件包时(即,用具有相同软件包名称和更高版本代码的新APK文件替换),旧版本将停止,因此该应用程序不再运行。旧的APK文件将被删除,新的APK文件将替换它,但不会执行其他卸载操作:私人应用程序数据和默认首选项将保留,并且不会发送卸载广播。相反,将广播一个不同的意图,以告知任何感兴趣的应用程序该软件包已更新。
因此,当删除旧的APK文件时,升级的效果与卸载旧的软件包然后安装新的软件包完全不同。
在Google Play中,如果开发人员启用了增量更新(称为Google的智能更新),情况可能会有所不同。
在增量更新中,仅下载两个版本之间的更改并将其应用于现有的APK。例如,如果您有一个大小为15MB的应用程序,而开发人员决定更改背景图片,则无需再次下载整个应用程序,您只需下载增量(差异)即可,其中包括图片。然后复制旧的APK,将新内容注入到旧的APK副本中,如果成功,则将旧的APK删除。最终结果是更新的APK。