美文网首页
APP 质量监控,CPU/内存/FPS/Crash

APP 质量监控,CPU/内存/FPS/Crash

作者: TaoGeNet | 来源:发表于2020-02-16 23:36 被阅读0次

2020-1-11 质量监控,资源使用

Memory, CUP, FPS

https://www.jianshu.com/p/22a077fd51f1

漫谈iOS Crash 收集框架

http://www.cocoachina.com/articles/12301

PLCrashReporter 源码分析

http://www.zoomfeng.com/blog/plcrashreporter-1.html

信号类型:

首先,信号是Unix、类Unix以及其他POSIX兼容的操作系统中进程间通讯的一种有限制的方式。

它是一种异步的通知机制,用来提醒进程一个事件已经发生。当一个信号发送给一个进程,操作系统中断了进程正常的控制流程,此时,任何非原子操作都将被中断。如果进程定义了信号的处理函数,那么它将被执行,否则就执行默认的处理函数。因此在应用的crash引起的程序异常退出都会有signal。它的种类有很多。常见的有SIGSEGV,SIGILL,SIGABRT,SIGBUS,SIGKILL等等

SIGSEGV 无效的内存地址引用信号,试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据。
SIGILL 执行了非法指令,通常是因为可执行文件本身出现错误, 或者试图执行数据段. 堆栈溢出时也有可能产生这个信号。
SIGABRT 通常由于异常引起的中断信号,异常发生时系统会调用abort()函数发出该信号。
SIGBUS 非法地址, 包括内存地址对齐(alignment)出错。与SIGSEGV的区别在于后者是由于对合法存储地址的非法访问触发的(如访问不属于自己存储空间或只读存储空间)。
SIGKILL 用来立即结束程序的运行,该信号不能被阻塞、处理和忽略。
案例:
crash 信息

Crash-info.png

Code异常编码
异常编码也是分析崩溃原因的重要依据之一,该日志中Code码0x8badf00d,即“ate bad food”,表示在应用程序启动、终止或响应系统事件花费的时间过长,应用程序已被系统终止,发生了监视程序超时。它是苹果设计的“看门狗”(watchdog)机制,若超出了该场景所规定的运行时间,“看门狗”就会强制终结这个应用的进程。

触发0x8badf00d的场景除了主线程被卡死的情况,还有以下几种情况:

  • 在iOS11.0到iOS11.2以前系统手机在前台收到推送后进入后台被杀死或可能会在前台杀死。
  • 开启任务后做了大量耗时操作无法任务结束。
  • 系统挂起beginBackgroundTask方法回调中没有关闭后台任务或添加两次或两次以上的回调无法一对一关闭后台任务。
  • 开启任务后在到期事件处理的回调中开启子线程进行大量耗时操作等等。

因此以上的场景均无法应用拦截,处理,不能上报到第三方崩溃收集工具中。

相关文章

  • APP 质量监控,CPU/内存/FPS/Crash

    2020-1-11 质量监控,资源使用 Memory, CUP, FPS https://www.jianshu....

  • iOS内存优化【转载】

    APP的性能监控包括: CPU 占用率、 内存使用情况、网络状况监控、启动时闪退、卡顿、FPS、使用时崩溃、耗电量...

  • iOS开发--APP性能检测方案汇总(一)

    APP的性能监控包括: CPU 占用率、 内存使用情况、网络状况监控、启动时闪退、卡顿、FPS、使用时崩溃、耗电量...

  • 影响app性能问题总结及拓展

    APP的性能监控包括: CPU 占用率、 内存使用情况、网络状况监控、启动时闪退、卡顿、FPS、使用时崩溃、耗电量...

  • iOS如何监测性能?

    APP的性能监控包括: CPU 占用率、 内存使用情况、网络状况监控、启动时闪退、卡顿、FPS、使用时崩溃、耗电量...

  • APP的性能监控方案:CPU、FPS、内存

    线下监控 Xcode Instruments 使用 Instruments 的 os_signpost API 来...

  • 学习笔记集合01

    一、性能优化 1.0、APM性能监控 CPU占用率、内存/磁盘使用率、卡顿监控定位、Crash防护、线程数量监控、...

  • 性能优化之稳定性优化

    提高代码质量 代码审查 android lint 代码检测 Crash监控 java层Crash监控 虚拟机为每个...

  • iOS中的性能监控方法

    APP开发中性能问题无疑是很重要的一点,有几项指标可以看出APP的性能是否存在问题,内存使用量,FPS,以及CPU...

  • app常见性能测试点

    普遍的apk性能测试,主要是以下几类:1、响应2、内存3、cpu4、FPS (app使用的流畅度)5、GPU过度渲...

网友评论

      本文标题:APP 质量监控,CPU/内存/FPS/Crash

      本文链接:https://www.haomeiwen.com/subject/djdvfhtx.html