[发明专利]一种防止应用程序崩溃的方法和装置在审
申请号: | 201810072575.2 | 申请日: | 2018-01-25 |
公开(公告)号: | CN110083471A | 公开(公告)日: | 2019-08-02 |
发明(设计)人: | 檀兵 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/30 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;杨晓伟 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 配置信息 崩溃 应用程序 调用 方法和装置 计算机技术领域 调用函数 服务端 客户端 | ||
本发明公开了一种防止应用程序崩溃的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取已发生崩溃的函数的配置信息;其中,所述配置信息包括已发生崩溃的函数名称;当在应用程序中调用函数时,判断所述配置信息中是否包括被调用的函数名称;如果所述配置信息中包括所述被调用的函数名称,则终止执行所述函数。该实施方式中,客户端从服务端获取包括已发生崩溃的函数名称的配置信息,在调用某个函数时,首先判断配置信息中是否有该函数名称,如果有该函数名称,则终止执行该函数。通过上述方式,禁止了导致崩溃的函数的执行,进而防止应用程序的崩溃。
技术领域
本发明涉及计算机领域,尤其涉及一种防止应用程序崩溃的方法和装置。
背景技术
应用程序的每个功能都是由多个函数串联起来实现的,如果函数实现错误会导致应用程序崩溃。比如,我们使用一款拍照应用程序,在点击了拍照按钮后,需要由应用程序的底层逻辑完成以下三个拍照功能,一是获取摄像头的原始图像,二是对原始图像进行美化,三是把完成美化的图像保存到本地。如果第二个功能在实现时,调用了高版本系统的API(Application Programming Interface,应用程序接口)来美化原始图像,就会导致该应用程序发生崩溃。
现有技术中,防止应用崩溃有两种实现方式,方式一:利用Runtime(运行时)的Hook(钩子)函数给某个函数前面添加执行逻辑;方式二:通过热修复的方式修复崩溃,即在发版后通过下发可执行代码的方式替换掉原来的函数。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:方式一需要预先知道哪些函数可能出现崩溃,但是应用程序的源程序中有很多函数,无法预知所有可能出现崩溃的函数,导致会有遗漏。方式二虽然能够防止应用程序崩溃,且能够修复函数实现逻辑,但是应用商店禁止该行为,比如苹果应用商店,如果被发现通过热修复的方式修复崩溃,该应用程序会被下架。
发明内容
有鉴于此,本发明实施例提供一种防止应用程序崩溃的方法和装置。该方法中,客户端从服务端获取包括已发生崩溃的函数名称的配置信息,在调用某个函数时,首先判断配置信息中是否有该函数名称,如果有该函数名称,则终止执行该函数。通过上述方式,禁止导致崩溃的函数执行,进而防止应用程序的崩溃。
实现上述目的,根据本发明实施例的一个方面,提供了一种防止应用程序崩溃的方法。
本发明实施例的一种防止应用程序崩溃的方法,包括:获取已发生崩溃的函数的配置信息,其中,所述配置信息包括已发生崩溃的函数名称;当在应用程序中调用函数时,判断所述配置信息中是否包括被调用的函数名称;如果所述配置信息中包括所述被调用的函数名称,则终止执行所述函数。
可选地,所述判断所述配置信息中是否包括被调用的函数名称,包括:遍历所述配置信息中的每一项数据,以获取所有所述已发生崩溃的函数名称;获取当前被调用的函数名称,判断所述被调用的函数名称与所述已发生崩溃的函数名称是否相同。
可选地,所述配置信息的存储格式为数组,数组中的每一项数据均为键值对形式,键包括所述已发生崩溃的函数以及所述函数执行所需最低系统版本,所述键对应的值包括所述已发生崩溃的函数名称以及所述函数执行所需最低系统版本号;所述遍历所述配置信息中的每一项数据的步骤之后以及所述判断所述被调用的函数名称与所述已发生崩溃的函数名称是否相同的步骤之前,还包括:获取所述函数执行所需最低系统版本号以及当前系统版本号;所述如果所述配置信息中包括所述被调用的函数名称的步骤之后,以及所述终止执行所述函数的步骤之前,还包括:确认所述当前系统版本号小于所述函数执行所需最低系统版本号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810072575.2/2.html,转载请声明来源钻瓜专利网。