[发明专利]一种iOS闪退保护策略在审
申请号: | 201810184210.9 | 申请日: | 2018-03-06 |
公开(公告)号: | CN108519925A | 公开(公告)日: | 2018-09-11 |
发明(设计)人: | 邱扬 | 申请(专利权)人: | 北京酷我科技有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/30 |
代理公司: | 北京德和衡律师事务所 11405 | 代理人: | 陈浩 |
地址: | 100080 北京市海淀区农大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 捕获 监听信号 异常堆栈 解析 堆栈信息 继续监听 数据损坏 信息写入 异常捕获 异常信息 用户使用 资源文件 热补丁 监听 调用 修复 时机 全局 保证 发现 | ||
本发明涉及一种iOS闪退保护策略,包括如下步骤:注册异常监听信号,用于持续捕获App异常,所述异常监听信号为全局的异常捕获器,当捕获到App异常时,获取异常堆栈信息,解析异常堆栈信息,将解析出的主要信息写入本地资源文件中,所述主要信息至少包括:调用时机,堆栈信息,产生crash的次数,继续监听捕获App异常。本发明,通过异常监听,及时捕获App异常,能获取尽可能详细的异常信息,在发现连续闪退时,通过使用热补丁的方式修复,尽可能保证App的正常运行,避免数据损坏等情况的出现,提高用户使用体验。
技术领域
本发明涉及iOS闪退保护技术领域,具体说是一种iOS闪退保护策略。
背景技术
iOS App 有时可能遇到启动必 crash(程序崩溃) 的绝境:每次打开 App 都闪退,无法正常使用App。App crash原因很多,大致可归类如下:
1.内存管理错误:可能是可用内存过低,App所需的内存超过设备的限制,App跑不起来导致App crash。或是内存泄露,程序运行的时间越长,所占用的内存越大,最终用尽全部内存,导致整个系统崩溃。亦或非授权的内存位置的使用也可能会导致App crash。
2.程序逻辑错误:数组越界、堆栈溢出、并发操作、逻辑错误。例如:App新添加一个未经测试的新功能,调用了一个已释放的指针,运行的时候就会crash。
3.设备兼容:由于设备多样性,App在不同的设备上可能会有不同的表现。
4.网络因素:可能是网速欠佳,无法达到App所需的快速响应时间,导致Appcrash。或者是不同网络的切换也可能会影响App的稳定性。
所以如果出现了崩溃现象,首先一定要给用户好的体验感,可以提示用户程序出现问题然后重启应用,当然开发者也应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大。
如何在程序崩溃的情况下如何重启应用收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开发者分析和调试程序,需要仔细研究、设计恰当的异常捕获机制。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种iOS闪退保护策略,通过异常监听,及时捕获App异常,能获取尽可能详细的异常信息,在发现连续闪退时,通过使用热补丁的方式修复,尽可能保证App的正常运行,避免数据损坏等情况的出现,提高用户使用体验。
为达到以上目的,本发明采取的技术方案是:
一种iOS闪退保护策略,其特征在于,包括如下步骤:
注册异常监听信号,用于持续捕获App异常,
所述异常监听信号为全局的异常捕获器,
当捕获到App异常时,获取异常堆栈信息,
解析异常堆栈信息,将解析出的主要信息写入本地资源文件中,
所述主要信息至少包括:调用时机,堆栈信息,产生crash的次数,
继续监听捕获App异常。
在上述技术方案的基础上,捕获App异常采用以下方法中的至少一种:
利用 Mach API 捕获 Mach 异常,
通过 POSIX API 注册 signal 来捕获 UNIX 异常信号,
注册 NSUncaughtExceptionHandler 来捕获应用级异常。
在上述技术方案的基础上,异常监听信号检测到连续闪退情况时,启动对App的保护处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810184210.9/2.html,转载请声明来源钻瓜专利网。