欢迎访问云鲸扫地机器人售后维修网点

narwal云鲸扫地机器人售后维修

网站首页 关于我们 维修产品 工程案例 网点查询 新闻资讯 邮寄须知 联系我们
小白鲸洗地机不转地址在哪里 小白鲸j1无法召回基站电话是多少,iOS性能优化 — 一、crash监控及防崩溃处理
发布者:admin 发布时间:2025-04-14 阅读:13

  大家好,欢迎来到 小白鲸洗地机不转地址在哪里iOS性能优化

  本篇文章将为大家讲解下crash监控及防崩溃处理。

  在平常开发过程中,由于代码的不严谨比如不对入参做校验,使用C++野指针等会造成程序crash。crash应该算是最严重的bug了,尤其是线上crash,如果App用户量大的话可能造成很大的影响,所以需要有一套机制来收集项目中的crash并及时解决。

  大部分公司都是采用第三方平台来收集crash。业内用的比较多有bugly、友盟、talkingdata。笔者比较推荐bugly,腾讯研发,比较轻量,用来监控crash和卡顿还是很方便的。

  一线大厂,大部分都会自研crash捕narwal云鲸扫地机不通电配件获框架。这个时候了解crash捕获原理就很有必要了,大家可以阅读开源库或者其实捕获crash原理很简单。主要需要处理两种情况:

  1、OC类异常。NSException异常是OC代码导致小白鲸j1无法召回基站电话是多少的crash。我们可以先通过NSGetUncaughtExceptionHandler保存先前注册的异常处理器,然后通过NSSetUncaughtExceptionHandler设置我们自己的异常处理器,我们不监控了,需要再设置回原理的异常处理器,在我们自己的uncaughtHandleException处理器里面,需要手动调用下原来的处理器。

小白鲸j4指示灯闪烁地址在哪里

  2、Signal信号捕获。小白鲸j5不转维修Signal信号是由iOS底层mach信号异常转换后以signal信号抛出的异常。既然是兼容posix标准的异常,我们同样可以通过sigaction函数注册小白鲸j4没电电话是多少对应的信号。

  根据笔者经验来看,oc中大部分崩溃都是源于没有对调用方法进行入参判断,比如数组添加object没有判空,访问数组元素越界等;还有一些C++崩溃,比如使用野指针。

  由于oc中大部分崩溃都是来源于未对入参进行判断,所以调用方法对入参进行判断就能解决崩溃。如何统一地解决这类崩溃,有两种方案:hook方案和安全接口

  该方案对系统常见类的方法进行hook,小白鲸j1指示灯闪烁电话是多少进行入参判断。比如对hook NSMutableArray的addObject方法,进行判空操作。

  该方案对系统常见类的方法进行一层封装,进行入参判断。大家统一调用安全接口,比如封装NSMutableArray的addObject方法为aksafe_AddObject,大家统一调用aksafe_AddObject添加对象。

  两种方案各有优缺点,hook方案优点是业务方直接调用系统方法就行,缺点是由于要进行hook,有损性能;安全接口方案是业务方要统一调用安全接口,优点则是轻量。笔者推荐方案二,轻量并且可以作为编码规范。

 
 

打印本页 || 关闭窗口



narwal


——云鲸扫地机器人维修
narwal云鲸扫地机器人售后维修
联系人:
电话:01053672025
邮箱:
网址:http://www.dgbwx.cn
公司地址:北京市丰台区


扫一扫 关注我们
narwal云鲸扫地机器人售后维修 TXT