`
jandroid
  • 浏览: 1933116 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

评论:Android的升级策略

 
阅读更多

对于Android系统而言升级意味着二个方面的升级,一个是系统的升级,另一个则是应用程序的升级。系统的升级,比较麻烦,通常的方式就是通过刷机来实现,虽然也听说过可以通过OTA升级,但目前Android的设备都没有能够像Apple设备那样顺利的进行OTA升级,最主要的原因是设备厂商很少维护已售出的设备,所以没有可用的升级镜像。

这里我们重点谈谈Android上面的应用程序的升级策略及其所带来的问题。

无论你是通过Market还是其他方式来升级应用程序,它的工作方式都是酱紫的:把新版本的应用程序下载到本地,然后安装新版本,PackageInstaller会替换掉老版本。酱紫的方式有以下几个缺点:

  1. 升级速度比较慢,其实就相当于重新安装一样
  2. 伤不起的流量,一般的应用0~3M,有些大点的有4~9M,对于游戏更是达到了10~30M,升级一次很恐怖啊
  3. 升级时,由于 要下载新版本,所以会浪费一些存储空间
  4. 应用的数据和配置信息,有时会丢失,比如选择了UC作为默认浏览器,但升级后,它将不再是默认的,需要重新设置
  5. 旧版本所产生的数据,临时数据不一定会被删除
  6. 最恶心的是,如果二个版本的数字签名不一致,会导致新版本无法安装,要手动的把旧版本卸载,然后才能安装新的版本
  7. 这点跟Market无关,那就是有些应用升级以后反尔不好用,完全不如旧版本
有少数的应用也有与PC上面软件类似的自身升级的方法,但也都是下载新版本,卸载旧版本,再安装新版本。所以,即便是软件只更新了一个字串,那么升级时也需要整体折腾。

时常在想,为什么就不能像PC上面的软件那样,升级时只需要一个子集的升级包就可以了呢?可能的原因应该是有二个方面,一个是Android应用程序运行的机制决定的,另一个则是Market管理的方便。

Android当中软件安装完成以后,不像PC机那样解开了包,而是与安装包一样的存储在系统中。它是在程序运行时才从安装包中解析出需要的东西,加载进内存。所以,即使是应用只有部分更新,也没有办法像PC那样,只弄个升级包,因为升级包无法替换进入到安装包中。开发者只能对软件源码进行更新,然后重新编译打包成新版本。

那么Market中软件如果允许升级包的存在,那么新用户在购买的时候就要即买应用又买它的升级包,即要安装应用,又要一个一个的安装升级包,十分的不方便。

存在既有之的道理,希望有朝一日,它的升级策略能更加的友好一些,好用一些。

分享到:
评论

相关推荐

    Android数据库Sqlite的基本用法及升级策略

    **Android数据库SQLite的基本用法** ...通过以上的介绍,我们可以看出SQLite在Android中的基本用法和升级策略。在实际开发中,还需要考虑数据的同步、事务处理、性能优化等问题,以实现更高效、稳定的数据库管理。

    Android更新 升级模块

    在Android系统中,更新和升级模块是至关重要的组成部分,它允许开发者向用户推送新的功能、修复漏洞或提高应用性能。这篇博客文章详细介绍了如何解决Android设备自带的升级问题,我们将在此基础上深入探讨Android...

    android app 升级示例,使用代码

    本示例将向您展示如何在代码层面实现Android App的升级功能,这将帮助开发者更方便地集成到自己的项目中。提供的资源包括一个GitHub上的开源库`CheckVersionLib`以及一个自编写的实现,两者都是为了实现检查并提示...

    android-database-sqlcipher-v3.5.7 Android安卓数据库加密开源项目

    3. **安全迁移**:在升级数据库版本时,可以安全地迁移已加密的旧数据库。 4. **兼容性**:与SQLite保持高度兼容,能够无缝对接现有的SQLite数据库操作。 **四、性能影响** 虽然SqlCipher带来了数据安全性,但加密...

    android OTA在线升级(升级包下载)

    Android OTA(Over-the-Air)在线升级是一种便捷的设备系统更新方式,允许用户通过网络下载升级包来更新手机或平板电脑的操作系统。这种方式无需通过电脑或其他物理媒介,大大简化了更新流程,提高了用户体验。在本...

    Android技术内幕:系统卷.杨丰盛

    11. **系统更新与升级**:Android系统的更新和升级过程,包括OTA(Over-the-Air)更新的实现和兼容性问题。 12. **调试与测试**:书中会介绍各种调试工具和测试策略,帮助开发者找出并修复问题。 通过学习...

    nordicDFU升级nordic升级nordic手机开发

    10. **固件更新策略**:开发者应根据产品需求制定合适的更新策略,比如是否强制用户更新、更新频率等,以平衡用户体验和产品更新的必要性。 通过以上知识点,我们可以理解Nordic DFU升级的基本原理和实施步骤,这...

    Android app升级程序

    必须考虑升级过程中的异常情况,如下载失败、安装失败等,这时应用应该有恢复策略或错误提示。 10. **测试与调试**: 在开发升级流程时,务必在多种设备和Android版本上进行测试,以确保兼容性和稳定性。使用...

    Android APP增量升级的实现方式

    Android APP增量升级是一种有效的优化策略,通过选择合适的实现方式,开发者可以在不影响用户体验的前提下,提高应用的更新效率。无论是自定义实现还是使用第三方服务,都需要关注其安全性和稳定性,以提供最佳的...

    BES OTA 升级 android源码

    3. **服务器部署**:升级包会被上传到服务器,并且配置好相应的推送策略,如地区、设备型号等。 4. **设备检测**:设备定期检查服务器是否有可用的更新,如果有,就会下载更新包。 5. **安装过程**:设备在后台...

    Android升级更新实例,客户端+服务端

    在Android应用开发中,定期对应用进行升级和更新是保持软件功能完善和安全的重要环节。本实例将探讨如何实现客户端和服务端的协同更新机制,确保用户可以顺利接收并安装最新的应用版本。 一、客户端更新流程 1. **...

    Android SDK Manager build-tools升级android build tools-26.0.2.rar

    2. **升级过程**:升级`build-tools`到26.0.2,首先需要确保安装了Android SDK Manager,通常可以通过Android Studio内置的SDK Manager界面进行操作。用户可以在此界面中选择需要的build-tools版本进行下载和安装。...

    Android多渠道打包与升级.rar

    4. APK分发服务:使用如Google Play、华为应用市场等第三方分发平台,可以方便地管理应用的版本发布和升级策略。 5. 版本控制:在更新过程中,需要确保新版本与旧版本的兼容性,避免因升级导致的数据丢失或功能异常...

    TUP 第三期移动开发者沙龙活动:Android与Bada实战 现场实录

    智能手机市场虽然增长迅速,但仍有很多用户并未升级到智能手机。这表明市场存在巨大的潜力等待挖掘。 - **三星的战略选择**: - **多元化布局**: 三星采取多元化战略,在支持Android等主流操作系统的同时,也推出了...

    android app内部更新,版本升级

    在Android应用开发中,实现应用内部更新和版本升级是一项重要的功能。这允许开发者在发布新版本时,确保用户能够及时获得最新的修复、功能和优化,提高用户体验。在本教程中,我们将深入探讨如何在Android应用中集成...

    Android开发升级解偶策略(访问、解析、弹框、是否强制都可以自定义)推荐

    在Android升级策略中,解偶意味着升级模块不直接依赖于应用程序的其他部分,这样可以降低耦合度,使更新功能的实现更加灵活,不影响应用的主体功能。 该工具的访问机制可能包括了网络请求接口的设计,如使用...

    android 数据库升级,增加字段

    但如果新字段是必填的,你可能需要设计一个填充默认值的策略,或者在升级过程中读取旧数据并更新。 5. **事务处理**:为了保证数据的一致性,建议在`onUpgrade()`中使用`beginTransaction()`和`...

    Android6.0API中文手册CHM版

    以上只是Android 6.0 API中文手册中的一部分关键知识点,实际手册还涵盖了更多的API变更、性能优化策略、安全性改进以及系统服务的使用方法。开发者通过深入学习这本手册,可以全面掌握Android 6.0的开发技术,提升...

    android-30.rar

    8. **适配大屏幕设备**:为了支持折叠屏和其他大屏幕设备,Android 11提供了新的布局模式和窗口管理策略,使开发者能更好地优化应用在不同屏幕尺寸上的显示效果。 9. **Android Jetpack组件**:Android 11更新了...

    Android差分升级,补丁升级JAR

    **补丁升级**(Patch Update)与差分升级相似,也是针对应用程序更新的一种策略。它生成一个包含新旧版本差异的补丁,用户只需下载并应用这个补丁,即可完成更新。这种方法减少了用户的等待时间,提高了用户体验,并...

Global site tag (gtag.js) - Google Analytics