连续闪退设计方案

一、概要

1.背景

用户在使用APP时,在启动阶段crash,将根本无法使用。重启的条件下也无法正常使用的情况,也就称为连续闪退。在这种情况下就需要一种机制去保护并修复它,确保APP可以正常使用。

2.发生条件

连续闪退的发生原因可能有如下:

  1. 数据库损坏:在日常使用如异常退出、断电,或者错误的操作。
  2. 文件损坏:处理文件时如果没有@try…catch,损坏文件会抛出NSException导致 crash。
  3. 网络返回数据处理异常:比如预期返回数组,但实际返回了字典或返回破损的 Tar 包,在解压失败导致 crash。
  4. 代码 bug:当必 crash 的代码出现在启动关键路径中。
  5. 内存不足: 删除缓存的资源。
  6. 超时: 启动时间过长等。

3.修复处理

在发生连续闪退下,可以尝试

  1. 通过工具修复DB,或者删除DB
  2. 删除文件,沙盒内容, userdefaults

4.上报日志

二、详细设计

1. 流程图

2.crashCount 技术方案流程图

a. 倒计时

b. crash 注册监听

三、

1.crashCount计数方案对比:

计时器方案优点:实现逻辑简单,耦合性小。 缺点:存在误报风险

注册闪退捕获监听优点:能准确捕获异常,并获取闪退堆栈信息。缺点: 与已有的异常处理代码产生耦合,或者与第三方 crash 收集框架冲突导致漏检测。

一. APP连续闪退修复方案初版相关推荐

  1. android 签名包闪退,解决APP连续闪退的方案,你还不知道的签名方式

    原标题:解决APP连续闪退的方案,你还不知道的签名方式 用户在使用APP检测到连续闪退后,接下来要尝试对闪退进行修复,这里先分析可能的闪退原因: 闪退原因 连续闪退,可能是 App 启动关键路径中执行 ...

  2. iOS 启动连续闪退保护方案

    引言 "如果某个实体表现出以下任何一种特性,它就具备自主性:自我修复.自我保护.自我维护.对目标的自我控制.自我改进." -- 凯文·凯利 iOS App 有时可能遇到启动必 cr ...

  3. android指南针闪退,互动课堂及视频闪退修复方案(KB3132372)

    2015年12月30向win10用户推送了新的更新补丁KB3132372,该补丁会造成所有IE内核的浏览器卡死崩溃,同样,在指南针软件中看视频或者打开"互动课堂"时也会出现闪退现象 ...

  4. [原创]android studio升级无法打开 闪退修复大法思路

    要修复闪退要懂原理,启动studio64.exe实际上执行了studio.bat 进入命令行 切换到 bin目录 输入studio.bat 这时候闪退的具体信息出来了 \speed\android-s ...

  5. lightroom 闪退_苹果iPhone11手机APP频繁闪退怎么办?如何修复?

    今天分享的是苹果iPhone11手机APP频繁闪退的解决方法. 我们先了解下iPhone11手机闪退的原因: 1.插件影响程序的正常运行,而导致APP闪退: 2.下载的软件与手机系统版本的不匹配,比如 ...

  6. axure怎么做手机app界面_iPhone11手机APP频繁闪退怎么办?

    任何手机,任何系统,都可能会出现闪退的问题,苹果iPhone也不例外.偶尔闪退属正常现象,如果很多APP都闪退,而且非常频繁怎么办呢?iPhone11手机APP频繁闪退怎么办?如何修复? 我们先了解下 ...

  7. iphone闪退修复工具_iPhone更新iOS 13出现程序闪退?大家不妨试试这个方法来解决问题...

    发布iPhone 11系列以后,关于苹果手机的热度都很高,最近就有很多网友在反馈他们的iPhone手机在更新到iOS 13正式版以后,会有部分APP会出现频繁闪退,无法进入程序的页面. 关于网友说的这 ...

  8. 手表java闪退_关于apple watch闪退修复的方法

    关于apple watch闪退修复的方法 2018-05-05 14:37:46 19点赞 11收藏 17评论 黑色配粉色还挺不错 洗澡戴也试过确实没进水~~~~~ 为什么选了38因为我手腕子细呗,再 ...

  9. h5+app Android上架华为应用市场被拒原因“拒绝获取手机权限后app会闪退“以及隐私政策问题

    h5+app Android上架华为应用市场被拒原因"拒绝获取手机权限后app会闪退" 华为应用市场报错:拒绝获取手机权限后app会闪退,此问题解决方案如下: 在manifest. ...

  10. 关于app的闪退问题

    今天以前测试时安装的app出现闪退,打不开的情况.很多帖子问题是因为都是IOS9,需要信任文件,但是也有另外的情况. 软件环境:xcode7.299$企业开发者账号 一.BUG描述. 测试时安装的ap ...

最新文章

  1. Windows下Tomcat服务器的安装和配置
  2. ubuntu install fonts
  3. shell编程之文本处理工具sed
  4. qt中的mysql能存入多少行数据_Qt中提高sqlite的读写速度(使用事务一次性写入100万条数据)...
  5. C++中类的拷贝控制
  6. QQ浏览器,正式推出,9.0版本又多些好东西!
  7. matlab结构体、数组和单元数组类型的创建
  8. java一元二次方程用if_用javascript写一个求一元二次方程的页面 用JAVA写一个求解一元二次方程的类...
  9. python——keyword模块
  10. 夜深人静写算法(十二)- 凸包
  11. 画笔Paint及模拟画图工具
  12. 共享充电宝方案原理,具体部件组成以及主控MUC参数
  13. 可编程渲染管线12 图像质量
  14. distiller的另一个实例正忙于启动_PYQT5学习(02):利用Qt Designer制作第一个窗口程序
  15. MYSQL误删除DELETE数据找回
  16. C语言-vs的常用快捷键
  17. HTTP的常用方法、GET和POST的区别
  18. 使用ultraEdit 进行字符串操作技巧
  19. python windows 解决 cl.exe 的问题
  20. 亚特兰蒂斯【线段树+扫描线+离散化】

热门文章

  1. 一张图,区分NPN于PNP型三极管的工作原理
  2. 自然语言处理面试基础
  3. 12306暴SQL注入漏洞?!这下乐大发了
  4. N-gram模型详解
  5. 数字孪生--技术介绍
  6. aardio - 时钟例程
  7. aardio - 利用bitLock快速读写图片颜色值
  8. easyui教程 php,jQuery EasyUI 教程-Panel(面板)
  9. 使用Arduino和TTP223电容式触摸传感器制作触摸检测器
  10. 微信红包雨怎么抢_微信红包雨怎么发? 微信红包雨的操作方法?