IOS系统闪退异常(Crash)捕获处理

IOS系统闪退异常(Crash)捕获处理,第1张

我们的程序经常出现异常造成闪退的现象,对于已经发布的APP,如何捕捉到这些异常,及时进行更新解决闪退,提高体验感呢?

对于一些简单,比如一些后台数据的处理,容易重现数组越界,字典空指针错误的,我们用oc的runtime方法进行捕获。比如NSArray的数组越界问题。

源码地址: GitHub地址

我们可以通过runtime进行方法替换,比如我们捕获NSArray的数组越界问题,注意NSArray 是个类簇所以不能简单添加类目

当然这种捕获只能捕获单一的问题,还有其他的报错,那就要写很多的分类处理,如何进行统一的捕捉呢,我们查看下报错信息看下能不找到有用的信息。

如图我们看了报错的方法栈。看到有libobjc的调用。这个就很熟悉了,去看下runtime的源码。可以找到set_terminate设置中止的回调,也就是如果出现报错,系统会回调这个函数,如果外界没有传这个函数objc_setUncaightExceptionHandler,系统会使用默认的实现。 我们只要调用NSSetUncaughtExceptionHandler就可以设置这个方法句柄,系统出现报错时候,回调这个方法,从而让我们对这个错误进行处理

在AppDelegate里面设置这个方法句柄

然后就可以捕捉异常 ,上传服务或者保存在本地。

然后在这个对象中通过runloop,保住线程,处理后再崩溃

原因解决方式如下:

可能是由于你安装的软件内部冲突所导致的。严重的时候还会花屏重启等等。还有可能就是手机使用时间长,热量散发不及时。只要同时按住关机键(power)+退出键(home)持续10左右就会强制关机,然后再重启就可以了。但一般情况不建议强制关机。对手机有影响。

解决方法:

1假如进入DFU模式就按DFU模式的退出方法退出

2正常黑屏的试试把手机接驳电脑iTunes或长按电源键直至能开机为止

3要是不小心按到恢复模式造成黑屏,按住home键和电源键,一起按住15秒左右松手,再按电源键即可恢复。

4黑屏基本上都是软件问题,开机键+home键同时按住10秒,看看

5上面的方法都不行,就用iTunes恢复一下系统吧

手机黑屏、闪屏、花屏、白屏,建议:

1点击返回键尝试是否可以退出该软件。如果可以,退出后重新进入。

2若无法退出该软件,建议重启机器尝试:同时按住电源键和下音量键7秒以上重启设备;

3若再次打开软件后依然花屏,此情况可能和使用的软件有关。若是自行下载的软件,建议卸载软件重新下载。

4若是自带的系统软件,建议更新手机系统版本尝试:请进入设置-关于手机(关于设备)-软件更新(系统更新)-更新(升级前请备份设备中数据)。

5若已是最新版本,请备份手机中数据(联系人、信息、等)然后恢复出厂设置尝试。

若问题依然存在,建议携带购机发票、包修卡和手机到当地的手机购买处维修或者在附近花钱进行维修

前面回答的都不是做iOS开发的。

这是由iOS系统管理决定的,但APP退出在后台后,只有10秒的持续运行时间,然后暂停。但该APP还在内存中,当出现内存警告,也就是别的APP要运行,而此时内存又不足的情况下,系统会回收停在后台APP所占用的内存。如果出现这种情况,那么你再次打开你的APP,就会重新启动。

不知道你是为什么要让APP在后台还要继续运行,如果非得这样,那可以使用多线程技术中的gcd,可以让APP退出后继续运行很长一段时间(大概10分钟)

iOS APP类型:

保存现场。按下Home键10秒内直接杀死进程,并释放内存。

2 iOS支持的“多任务”。按下Home键转入多任务状态,保留在内存中,但只能系统允许的动作:比如GPS,比如VoIP,比如音乐等等。

3 真正的桌面级别的多任务。只有Safari/Mail是,苹果嫡系大都都不是。这个级别的app在后台没有任何限制动作。

无限制动作的程序,一会在用户无察觉的情况下耗光电力,二会有安全上面的问题(那些在后台依旧默默发送你的个人消息程序)

顺便提一句,后两种占用内存的app,也会在任意时间从内存中被砍掉,取决于你是否动用了其它app而导致内存不足。

真正不会被砍掉的后台,只有苹果那个通知系统。

那是因为没有开启后台APP刷新,可以参考下面方法解决,以苹果手机 *** 作为例:

1、首先在手机桌面找到<设置>选项进去;

2、进入设置选项,点击<通用>;

3、在通用菜单列表中,找到并点击<后台APP刷新>功能;

4、进入后台APP刷新菜单,点击最上面的功能开关设置<后台APP刷新>;

5、进入后台APP刷新功能设置开关,点击<WLAN与蜂窝数据>,让后边打蓝色对勾;

6、返回到后台APP刷新菜单界面,将经常使用的软件后边的开关打开,这样以后再切换软件的时候就不会重开了。

以上就是关于IOS系统闪退异常(Crash)捕获处理全部的内容,包括:IOS系统闪退异常(Crash)捕获处理、ios15切换程序黑屏、ios投屏,obs直播,游戏源在手机切换程序时卡死且黑屏,是何问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10643502.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存