首页 / 专利库 / 软件 / 补丁 / 一种安卓系统中基于类文件加载补丁的方法

一种安卓系统中基于类文件加载补丁的方法

阅读:514发布:2020-05-08

专利汇可以提供一种安卓系统中基于类文件加载补丁的方法专利检索,专利查询,专利分析的服务。并且本 发明 提供的一种基于类文件加载 补丁 的方法,该方法首先从 服务器 中获取补丁包;从dex文件中找到待补丁类;再对第一dex文件进行分包处理,获得第二dex文件和第三dex文件,将补丁类加载成补丁类插入到第二dex文件中组成新的第四dex文件,在待补丁类和与其邻近的上一类之间插入一跳转指令,该跳转指令执行补丁类,通过确定待补丁类,在其前面插入一跳转指令,当程序执行到该 位置 时,直接跳转到执行补丁类,进而更新应用程序的补丁,该方法能够有效地修复应用程序存的补丁,在进行补丁修复时,不会出现死机、卡顿、系统瘫痪等现象,提高了整个应用程序的运行效率和用户的使用体验。,下面是一种安卓系统中基于类文件加载补丁的方法专利的具体信息内容。

1.一种安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法包括如下步骤:
S1:获取补丁包;
S2:获取待补丁类所在的第一dex文件,将第一dex文件中的待补丁类做上标记;
S3:对步骤S2找到的第一dex文件进行分包处理,获得由与待补丁类相关的类组成的第二dex文件和由第一dex文件内其他类组成的第三dex文件;
S4:将补丁包通过类加载器加载成补丁类并插入到步骤S3获得的第二dex文件内组成第四dex文件,将第四dex文件内的类通过反射方式赋值回第三dex文件;
S5:将步骤S4赋值后的第三dex文件内且带有标记的待补丁类与其邻近的上一类之间插入一跳转指令,该跳转指令指向第三dex文件内的补丁类。
2.如权利要求1所述的安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法还包括:
S6:时刻接收推送服务器推送的静默消息,该静默消息包括应用程序最新补丁版本的补丁参数,所述补丁参数包括补丁唯一标识符;
S7:将步骤S6获得的补丁唯一标识符对应的补丁数据与步骤S1获得的补丁包的补丁数据进行比对,比对一致,进行步骤S2-S5。
3.如权利要求2所述的安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法还包括:
S8:当步骤S7比对不一致,判断步骤S6获得的补丁唯一标识符对应的补丁数据是否为步骤S1获得补丁包内补丁数据的更新数据,如果是,进行步骤S9,如果不是,重新获取步骤S6获得的补丁唯一标识符对应的补丁包,进行步骤S2-S4后,再进行步骤S11;
S9:计算步骤S6获得的补丁唯一标识符对应的补丁包与步骤S1获得的补丁包的补丁差量包;
S10:将补丁差量包与补丁差量包阈值进行比对,当补丁差量包不大于补丁差量包阈值时,进行步骤S2-S5,当补丁差量包大于补丁差量包阈值时,重新获取步骤S6获得的补丁唯一标识符对应的补丁包,进行步骤S2-S4后,再进行步骤S11;
S11:将步骤S4经过赋值处理的第三dex文件内每一相邻的类之间均插入一长跳转指令。
4.如权利要求3所述的安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法还包括:
S12:判断长跳转指令后一类是否为待补丁类,如果不是,进行步骤S13,如果是,进行步骤S14;
S13:该长跳转指令=空;
S14:该长跳转指令指向后一类对应的补丁类。
5.如权利要求1所述的安卓系统中基于类文件加载补丁的方法,其特征在于,在进行步骤S1之前先进行如下步骤:
S0:判断应用程序是否第一次在客户端上运行,如果是,进行步骤S01:
S01:判断所述客户端本地是否存储有该应用程序的补丁包,如果有,将应用程序内的补丁包进行步骤S2-S5,如果没有,进行步骤S1-S5。
6.如权利要求5所述的安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法还包括:
S02:当步骤S0判断不是,统计该应用程序发布的补丁版本个数G,并与所述客户端更新该应用程序补丁版本次数G1进行比较,如果3/5G<G1≤G,进行步骤S1-S5,如果G1≤3/5G,进行步骤S03;
S03:根据补丁包权重值判断是否获取补丁包。
7.如权利要求6所述的安卓系统中基于类文件加载补丁的方法,其特征在于,步骤S03包括:
S31:通过如下公式计算应用程序发布的最新补丁版本权重值和客户端加载的最新补丁版本权重值的比值W
W=aX+b△T+cY
a、b、c表示系数,取值为0-1,X=应用程序发布的最新补丁版本对应的补丁包与客户端加载的最新补丁版本对应的补丁包的差量包,△T=以客户端加载的最新补丁版本对应的补丁包开始到完成应用程序发布的最新补丁版本对应的补丁包所用时间;Y=应用程序发布的最新补丁版本对应的严重性与客户端加载的最新补丁版本对应的严重性的比值;
S32:将步骤S31计算得到的比值W与比值阈值W1进行比对,当W≥W1,进行步骤S1,当W<W1,进行步骤S04;
S04:不获取补丁包。
8.如权利要求1所述的安卓系统中基于类文件加载补丁的方法,其特征在于,步骤S1包括:
S11:统计获得补丁包的个数N,如果N=1,进行步骤S2,如果N>1,进行步骤S12;
S12:解析各补丁包内的补丁数据所属类型,优先将补丁类型为替换原始应用程序的补丁包进行步骤S2。
9.如权利要求5所述的安卓系统中基于类文件加载补丁的方法,其特征在于,步骤S12包括:
S121:监测应用程序所在客户端的内存大小C,C1>C,进行步骤S122,如果C≤C1,进行步骤S123,C1表示补丁类型为替换原始应用程序的补丁包大小总和;
S122:解析各补丁包内的补丁数据所属类型,优先将补丁类型为替换原始应用程序的补丁包进行步骤S2;
S123:计算各补丁包的更新时间,优先将更新时间最长的补丁包进行步骤S2。

说明书全文

一种安卓系统中基于类文件加载补丁的方法

技术领域

[0001] 本发明属于APP补丁加载领域,特别涉及一种安卓系统中基于类文件加载补丁的方法。

背景技术

[0002] 现有技术中,当一个安卓应用在发布后,突然发现一个严重的bug需要进行进行修复,这时需要对该安卓应用进行修复,具体操作为重新打包APP、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。有时仅仅是为了修改一行代码,也需要付出巨大的成本进行换包和重新发布。而对于用户来讲,一款安卓应用的反复升级、重新下载安装的过程大大降低了用户的使用体验。为了解决现有技术存在的问题,QQ空间提出了热补丁动态修复技术,该技术向用户下发Patch,在用户无感知的情况下,进行补丁的修复,不需要进行换包及重新安装,提高了用户的使用体验,例如CN106095502公开的一种安卓应用的热修复方法、装置、服务器和系统,又如CN106484444公开的应用程序的插入补丁方法及装置,都用到了热补丁动态修复技术。
[0003] 热补丁修复技术是基于android dex分包方案(分包方案:一个ClassLoader可以包含多个dex文件,每个dex文件是一个Element,多个dex文件排列成一个有序的数组dexElements,当找类的时候,会按顺序遍历dex文件,然后从当前遍历的dex文件中找类,如果找到则返回,如果找不到从下一个dex文件继续查找。简单地说,就是把多个dex文件塞入到app的classloader之中,但是android dex拆包方案中的类是没有重复的,如果同一dex文件中有重复的类,那么会优先选择排在前面的类),该方案是把有待补丁的类打包到一个dex(patch.dex)中去,然后把这个dex插入到Elements数组的最前面。但是该技术在实际操作中存在如下问题:修改某个类,打包成dex,插入到classloader,当加载类的时候出现了错误,因为其第一层关系即引用者被打上了CLASS_ISPREVERIFIED标志,当有该标志时,就需要进行dex的校验。如果直接引用到的类(第一层级关系,不会进行递归搜索)和clazz都在同一个dex中的话,那么这个类就会被打上CLASS_ISPREVERIFIED;所以,热补丁修复技术为了实现补丁方案,就必须防止类被打上CLASS_ISPREVERIFIED标志,所以将需要修改的文件打包成单独的类,这样当安装apk的时候,classes.dex内的类都会引用一个在不相同dex中的类,这样就防止了类被打上CLASS_ISPREVERIFIED的标志了,进而能够实现补丁操作。
[0004] 以上方法能够很好地实现热补丁修复,但是现有技术存在的问题是,将某一类打上CLASS_ISPREVERIFIED标志是为了提高APP的应用性能的,当硬性防止标记上该标志,会降低APP的应用性能,并且启动后会出现崩溃等现象。

发明内容

[0005] 为了解决现有技术中存在的问题,本发明提供了一种安卓系统中基于类文件加载补丁的方法,该方法可以保持APP已有的性能,并且也能够实现热补丁修复,从而提高用户的使用体验。
[0006] 本发明具体技术方案如下:
[0007] 本发明提供一种安卓系统中基于类文件加载补丁的方法,该方法包括如下步骤:
[0008] S1:获取补丁包;
[0009] S2:获取待补丁类所在的第一dex文件,将第一dex文件中的待补丁类做上标记;
[0010] S3:对步骤S2找到的第一dex文件进行分包处理,获得由与待补丁类相关的类组成的第二dex文件和由第一dex文件内其他类组成的第三dex文件;
[0011] S4:将补丁包通过类加载器加载成补丁类并插入到步骤S3获得的第二dex文件内组成第四dex文件,将第四dex文件内的类通过反射方式赋值回第三dex文件;
[0012] S5:将步骤S4赋值后的第三dex文件内且带有标记的待补丁类与其邻近的上一类之间插入一跳转指令,该跳转指令指向第三dex文件内的补丁类。
[0013] 进一步的改进,该方法还包括:
[0014] S6:时刻接收推送服务器推送的静默消息,该静默消息包括该应用程序最新补丁版本的补丁参数,所述补丁参数包括补丁唯一标识符;
[0015] S7:将步骤S6获得的补丁唯一标识符对应的补丁数据与步骤S1获得的补丁包的补丁数据进行比对,比对一致,进行步骤S2-S5。
[0016] 进一步的改进,该方法还包括:
[0017] S8:当步骤S7比对不一致,判断步骤S6获得的补丁唯一标识符对应的补丁数据是否为步骤S1获得补丁包内补丁数据的更新数据,如果是,进行步骤S9,如果不是,重新获取步骤S6获得的补丁唯一标识符对应的补丁包,进行步骤S2-S4后,再进行步骤S11;
[0018] S9:计算步骤S6获得的补丁唯一标识符对应的补丁包与步骤S1获得的补丁包的补丁差量包;
[0019] S10:将补丁差量包与补丁差量包阈值进行比对,当补丁差量包不大于补丁差量包阈值时,进行步骤S2-S5,当补丁差量包大于补丁差量包阈值时,重新获取步骤S6获得的补丁唯一标识符对应的补丁包,进行步骤S2-S4后,再进行步骤S11;
[0020] S11:将步骤S4经过赋值处理的第三dex文件内每一相邻的类之间均插入一长跳转指令。
[0021] 进一步的改进,该方法还包括:
[0022] S12:判断长跳转指令后一类是否为待补丁类,如果不是,进行步骤S13,如果是,进行步骤S14;
[0023] S13:该长跳转指令=空;
[0024] S14:该长跳转指令指向后一类对应的补正类。
[0025] 进一步的改进,在进行步骤S1之前先进行如下步骤:
[0026] S0:判断所述应用程序是否第一次在所述客户端上运行,如果是,进行步骤S01:
[0027] S01:判断所述客户端本地是否存储有该应用程序的补丁包,如果有,将应用程序内的补丁包进行步骤S2-5,如果没有,进行步骤S1-S5。
[0028] 进一步的改进,该方法还包括:
[0029] S02:当步骤S0判断不是,统计该应用程序发布的补丁版本个数G,并与所述客户端更新该应用程序补丁版本次数G1进行比较,如果3/5G<G1≤G,进行步骤S1-5,如果G1≤3/5G,进行步骤S03;
[0030] S03:根据补丁包权重值判断是否获取补丁包。
[0031] 进一步的改进,步骤S03包括:
[0032] S31:通过如下公式计算应用程序发布的最新补丁版本权重值和客户端加载的最新补丁版本权重值的比值W
[0033] W=aX+b△T+cY
[0034] a、b、c表示系数,取值为0-1,X=应用程序发布的最新补丁版本对应的补丁包与客户端加载的最新补丁版本对应的补丁包的差量包,△T=以客户端加载的最新补丁版本对应的补丁包开始到完成应用程序发布的最新补丁版本对应的补丁包所用时间;Y=应用程序发布的最新补丁版本对应的严重性与客户端加载的最新补丁版本对应的严重性的比值;
[0035] S32:将步骤S31计算得到的比值W与比值阈值W1进行比对,当W≥W1,进行步骤S1,当W<W1,进行步骤S04;
[0036] S04:不获取补丁包。
[0037] 进一步的改进,步骤S1包括:
[0038] S11:统计获得补丁包的个数N,如果N=1,进行步骤S2,如果N>1,进行步骤S12;
[0039] S12:解析各补丁包内的补丁数据所属类型,优先将补丁类型为替换原始应用程序的补丁包进行步骤S2。
[0040] 进一步的改进,步骤S12包括:
[0041] S121:监测应用程序所在客户端的内存大小C,C1>C,进行步骤S122,如果C≤C1,进行步骤S123,C1表示补丁类型为替换原始应用程序的补丁包大小总和;
[0042] S122:解析各补丁包内的补丁数据所属类型,优先将补丁类型为替换原始应用程序的补丁包进行步骤S2;
[0043] S123:计算各补丁包的更新时间,优先将更新时间最长的补丁包进行步骤S2。
[0044] 本发明提供的一种安卓系统中基于类文件加载补丁的方法,该方法首先从服务器中获取补丁包;由于热修补技术是基于android dex分包方案的,该方案从dex文件中遍历每一dex文件,找到有bug出现的类,即待补丁类,及对应的第一dex文件,将该待补丁类做上标记;然后再对第一dex文件进行分包处理,将与待补丁类相关的类,即待补丁类的引用者,分离出来组成一个新的第二dex文件,将第一dex文件内的其他类组成第三dex文件,将补丁类加载成补丁类插入到第二dex文件中组成新的第四dex文件,这样虚拟机在启动进行verify验证时,还是会打上CLASS_ISPREVERIFIED标志,虽然引用者的类被打上了CLASS_ISPREVERIFIED标志,但是引用者和补丁类还是在同一dex文件中,这样在进一步校验的过程就不会报错,解决了现有技术中存在的放置引用者的类被打上CLASS_ISPREVERIFIED标志影响应用程序性能的技术问题;并且本发明进一步在待补丁类和与其邻近的上一类之间插入一跳转指令,该跳转指令执行补丁类,通过确定待补丁类,在其前面插入一跳转指令,当程序执行到该位置时,直接跳转到执行补丁类,进而更新应用程序的补丁,该方法能够有效地修复应用程序存的补丁,在进行补丁修复时,不会出现死机、卡顿、系统瘫痪等现象,提高了整个应用程序的运行效率和用户的使用体验。附图说明
[0045] 图1为实施例1一种安卓系统中基于类文件加载补丁的方法的流程图
[0046] 图2为实施例2一种安卓系统中基于类文件加载补丁的方法中步骤S6-S14的流程图;
[0047] 图3为实施例3一种安卓系统中基于类文件加载补丁的方法中步骤S0-S03的流程图;
[0048] 图4为实施例3步骤S03的流程图;
[0049] 图5为实施例4步骤S1的流程图;
[0050] 图6为实施例4步骤S12的流程图。

具体实施方式

[0051] 下面结合附图和以下实施例对本发明作进一步详细说明。
[0052] 实施例1
[0053] 本发明实施例1提供一种安卓系统中基于类文件加载补丁的方法,如图1所示,该方法包括如下步骤:
[0054] 一种安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法包括如下步骤:
[0055] S1:获取补丁包;
[0056] S2:获取待补丁类所在的第一dex文件,将第一dex文件中的待补丁类做上标记;
[0057] S3:对步骤S2找到的第一dex文件进行分包处理,获得由与待补丁类相关的类组成的第二dex文件和由第一dex文件内其他类组成的第三dex文件;
[0058] S4:将补丁包通过类加载器加载成补丁类并插入到步骤S3获得的第二dex文件内组成第四dex文件,将第四dex文件内的类通过反射方式赋值回第三dex文件;
[0059] S5:将步骤S4赋值后的第三dex文件内且带有标记的待补丁类与其邻近的上一类之间插入一跳转指令,该跳转指令指向第三dex文件内的补丁类。
[0060] 本发明提供的一种安卓系统中基于类文件加载补丁的方法,该方法首先从服务器中获取补丁包;由于热修补技术是基于android dex分包方案的,该方案从dex文件中遍历每一dex文件,找到有bug出现的类,即待补丁类,及对应的第一dex文件,将该待补丁类做上标记;然后再对第一dex文件进行分包处理,将与待补丁类相关的类,即待补丁类的引用者,分离出来组成一个新的第二dex文件,将第一dex文件内的其他类组成第三dex文件,将补丁类加载成补丁类插入到第二dex文件中组成新的第四dex文件,这样虚拟机在启动进行verify验证时,还是会打上CLASS_ISPREVERIFIED标志,虽然引用者的类被打上了CLASS_ISPREVERIFIED标志,但是引用者和补丁类还是在同一dex文件中,这样在进一步校验的过程就不会报错,解决了现有技术中存在的放置引用者的类被打上CLASS_ISPREVERIFIED标志影响应用程序性能的技术问题;并且本发明进一步在待补丁类和与其邻近的上一类之间插入一跳转指令,该跳转指令执行补丁类,通过确定待补丁类,在其前面插入一跳转指令,当程序执行到该位置时,直接跳转到执行补丁类,进而更新应用程序的补丁,该方法能够有效地修复应用程序存的补丁,在进行补丁修复时,不会出现死机、卡顿、系统瘫痪等现象,提高了整个应用程序的运行效率和用户的使用体验。
[0061] 实施例2
[0062] 本发明实施例2提供一种安卓系统中基于类文件加载补丁的方法,该方法与实施例1的基本相同,不同的是,如图2所示,该方法还包括:
[0063] S6:时刻接收推送服务器推送的静默消息,该静默消息包括该应用程序最新补丁版本的补丁参数,所述补丁参数包括补丁唯一标识符;
[0064] S7:将步骤S6获得的补丁唯一标识符对应的补丁数据与步骤S1获得的补丁包的补丁数据进行比对,比对一致,进行步骤S2-S5;
[0065] S8:当步骤S7比对不一致,判断步骤S6获得的补丁唯一标识符对应的补丁数据是否为步骤S1获得补丁包内补丁数据的更新数据,如果是,进行步骤S9,如果不是,重新获取步骤S6获得的补丁唯一标识符对应的补丁包,进行步骤S2-S4后,再进行步骤S11;
[0066] S9:计算步骤S6获得的补丁唯一标识符对应的补丁包与步骤S1获得的补丁包的补丁差量包;
[0067] S10:将补丁差量包与补丁差量包阈值进行比对,当补丁差量包不大于补丁差量包阈值时,进行步骤S2-S5,当补丁差量包大于补丁差量包阈值时,重新获取步骤S6获得的补丁唯一标识符对应的补丁包,进行步骤S2-S4后,再进行步骤S11;
[0068] S11:将步骤S4经过赋值处理的第三dex文件内每一相邻的类之间均插入一长跳转指令;
[0069] S12:判断长跳转指令后一类是否为待补丁类,如果不是,进行步骤S13,如果是,进行步骤S14;
[0070] S13:该长跳转指令=空;
[0071] S14:该长跳转指令指向后一类对应的补正类。
[0072] 由于应用程序在启动时,已经加载了已下载的补丁文件,因此,当应用程序出现bug时,会被补丁替换,但如果该bug是在应用程序启动过程中,导致客户端来不及下载新的补丁文件,那样应用程序就会崩溃,这样用户就无法使用当前的应用程序,为了解决上述技术问题,本发明进一步对加载补丁的方法进行限定,具体为:客户端时刻接收推送服务器推送的静默消息,该静默消息内包括该应用程序的最新补丁版本的补丁参数,然后将接收的补丁参数与步骤S1获得的补丁包内的补丁数据进行比对,如果比对一致,表示该应用程序在启动前已经获取了最新版本的补丁包;如果最近补丁版本的补丁参数与步骤S1获得的补丁包内的补丁数据不一致,那么判断最近版本的补丁包内的数据是否是步骤S1获得补丁包的更新数据,如果是更新数据,计算两个补丁包的差量包,如果差量包过大,就重新获取新版本的补丁包,然后继续进行步骤S2-S4,由于该补丁包是在应用程序启动过程中才下载的,所以进行步骤S4后,在将步骤S4经过赋值处理的第三dex文件内每一相邻的类之间均插入一长跳转指令,然后再判断长跳转指令的后一类是否为待补丁类,如果是待补丁类,将该长跳转指令指向后一类对应的补正类,如果不是待补丁类将该长跳转指令改成空指令;本发明通过不断接受静默消息过程中,可以随时发现正在运行的应用程序存在的bug,并根据bug的情况判断是否需要获取补丁包,进而不但能够保证整个应用程序的正常高效运行,并且能够及时修复应用程序中出现的bug,提高应用程序的运行效率。
[0073] 实施例3
[0074] 本发明实施例3提供一种安卓系统中基于类文件加载补丁的方法,该方法与实施例1的基本相同,不同的是,如图3所示,在进行步骤S1之前先进行如下步骤:
[0075] S0:判断所述应用程序是否第一次在所述客户端上运行,如果是,进行步骤S01:
[0076] S01:判断所述客户端本地是否存储有该应用程序的补丁包,如果有,将应用程序内的补丁包进行步骤S2-5,如果没有,进行步骤S1-S5;
[0077] S02:当步骤S0判断不是,统计该应用程序发布的补丁版本个数G,并与所述客户端更新该应用程序补丁版本次数G1进行比较,如果3/5G<G1≤G,进行步骤S1-5,如果G1≤3/5G,进行步骤S03;
[0078] S03:根据补丁包权重值判断是否获取补丁包;
[0079] 如图4所示,步骤S03包括:
[0080] S31:通过如下公式计算应用程序发布的最新补丁版本权重值和客户端加载的最新补丁版本权重值的比值W;
[0081] W=aX+b△T+cY
[0082] a、b、c表示系数,取值为0-1,X=应用程序发布的最新补丁版本对应的补丁包与客户端加载的最新补丁版本对应的补丁包的差量包,△T=以客户端加载的最新补丁版本对应的补丁包开始到完成应用程序发布的最新补丁版本对应的补丁包所用时间;Y=应用程序发布的最新补丁版本对应的严重性与客户端加载的最新补丁版本对应的严重性的比值;
[0083] S32:将步骤S31计算得到的比值W与比值阈值W1进行比对,当W≥W1,进行步骤S1,当W<W1,进行步骤S04;
[0084] S04:不获取补丁包。
[0085] 本发明在获取补丁包之前,首先要对是否进行补丁修复进行判断,具体流程如下:首先判断,客户端是否第一次启动该应用程序,如果是,判断客户端是否已经有该补丁包,如果有,直接进行步骤S2-S5,如果没有,那么就从服务器获取补丁包然后进行步骤S2-S5。
如果客户端不是第一次运行该应用程序,那么判断该应用程序发布的补丁版本个数G,并与所述客户端更新该应用程序补丁版本次数G1进行比较,如果客户端加载该应用程序的补丁包的数量超过其发布版本个数的3/5,那么就进行步骤S1-S5,如果没有超过3/5,那么就判断发布的最新补丁版本的权重值,如果该最新补丁版本的权重值比客户端下载的最新补丁版本权重值高,那么就重新获取补丁包,如果不高,就不用下载补丁包,这样不但能够保证应用程序的正常运行,并且避免下载不必要的补丁。
[0086] 实施例4
[0087] 本发明实施例4提供一种安卓系统中基于类文件加载补丁的方法,该方法与实施例1的基本相同,不同的是,如图5所示,步骤S1包括:
[0088] S11:统计获得补丁包的个数N,如果N=1,进行步骤S2,如果N>1,进行步骤S12;
[0089] S12:解析各补丁包内的补丁数据所属类型,优先将补丁类型为替换原始应用程序的补丁包进行步骤S2;
[0090] 如图6所示,步骤S12包括:
[0091] S121:监测应用程序所在客户端的内存大小C,C1>C,进行步骤S122,如果C≤C1,进行步骤S123,C1表示补丁类型为替换原始应用程序的补丁包大小总和;
[0092] S122:解析各补丁包内的补丁数据所属类型,优先将补丁类型为替换原始应用程序的补丁包进行步骤S2;
[0093] S123:计算各补丁包的更新时间,优先将更新时间最长的补丁包进行步骤S2。
[0094] 一个应用程序在启动前可能会出现多个补丁,但是由于多种原因,例如空间内存不够、电量不够等原因不能所有的补丁都进行修复,为了解决上述技术问题,本发明对补丁类型进行判断、根据补丁类型和内存大小,判断补丁修复的前后顺序,保证应用程序能够正常运行的情况下,逐步进行补丁修复。
[0095] 本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈