检查更新并下载更新可以说是一个 app 必备的功能了. 既然是必备功能, 往往需要考虑很多东西, 如下: 1, 更新方式: 一个软件有更新了, 如果是上线了新的功能或修复了某些 bug, 或者是服务端的接口变了等, 需要强制用户更新软件, 不然就退出应用, 而如果只是进行性能的优化或者界面变化但是数据不变的更新, 往往不需要强制更新, 所以这就产生两种更新需求: 强制更新与非强制更新. 2, 后台下载: 强制更新可能实现起来较为简单, 必须要求用户下载完更新并安装后才能使用, 在技术含量上要求不是太高, 而对于非强制更新方式, 用户可以选择下载更新, 并且要切换到后台进行下载, 也就是说要使用到 service, 但是后台下载又会产生第 3 点要求.