app闪退

news/2024/11/19 17:29:22/

1、如何跟踪app的崩溃率和线上闪退?

iOSapp闪退时系统会生成一个crash日志,保存在设备上。crash日志里面有很多有用的信息,比如对内存堆栈信息和内存映像,通过解析这些信息来解析出crash时的代码逻辑。

crash一般有两种原因:违反iOS系统的规则导致crash和代码逻辑BUG导致crash

(1)内存报警到crash

当iOS系统内存吃紧的时候,它的VM会发出内存警告,尝试回收一些内存,如果情况没有得到改善iOS系统会终止应用程序的后台应用以回收内存,如果还是你能解决内存吃紧的问题,正在运行的程序会被终止掉。主动将客户端的之行动作写到一个log文件中,这样程序员就可以把内存的使用情况写到log文件中,当内存吃紧时就会对客户端有一个提醒,调用Instrument中的Allocations和leaks进行内存泄漏的检查。

(2)相应超时

当应用程序对一些事件(启动、挂起、结束等)响应不及时,这时苹果的watchDog机制就会将应用程序干掉,并生成一份crash日志,当遇到WatchDog日志时可以检查appdelegate里面的几个方法是否有严重的UI阻塞

(3)强制关机

一看到强制关机,一般会想到按住home键,但是这种情况只是将应用程序切换到后台,不会产生crash日志。当应用程序阻塞界面,停止响应时才会产生crash日志。这里所指的强制关机指的是,按住电源键,知道滑动关机,再按住home键,这是当前的应用程序会被终止,并产生一份crash日志


应用逻辑的Bug

SEGV:无效内存地址

SIGBUS:总线错误。访问的是有效地址,但总线异常

SIGILL:尝试非法指令

SIGPIPE:管道错误。比如管道的另一端没有线程接手数据

常见的崩溃原因一般是代码逻辑原因和资源原因比如数组越界


搜集crash

mac 上可以使用xocode-》window-》device选择device log进行查看

市场上也有一些软件进行crash日志服务

crashlytics

bug sense

其实大多数的商业软件都是从系统提取crash日志进行再一次的封装,上传到对应的服务器进行解析,很多采用开源的Plcrashereportor进行上传于解析


http://www.ppmy.cn/news/303578.html

相关文章

最常见的闪退崩溃(Android、ios) 原因

设备碎片化:由于设备极具多样性,APP在不同的设备上可能有表现不同;带宽限制:带宽不佳的网络对APP所需的快速响应时间可能不够;网络的变化:不同网络间的切换可能会影响APP的稳定性;内存管理&…

iPad横屏调用相册,出现闪退

Terminating app due to uncaught exception UIApplicationInvalidInterfaceOrientation, reason: Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES 是因为UIImagePickerController是竖屏的,而ipa…

app闪退分析

一、网络异常引起的 1.网络异常引起的,服务端响应不及时,可能导致闪退,检查网络配置情况 二、版本过低 1.应用版本过低,app的sdk和手机的系统不兼容,造成闪退 2.有些api在老版本中有,在新版本中没有&am…

解决APP打开后闪退的问题

解决APP打开后闪退的问题 Android 编程中有时没有给资源命名或组件ID命名,会造成APP启动后就闪退

ipad iphone开发_如何修复iPhone或iPad上崩溃的应用程序

ipad iphone开发 N.Z.Photography/Shutterstock NZ摄影/快门 Apps can crash or freeze on iPhones and iPads, just as they can on any other platform. Apple’s iOS operating system disguises app crashes by closing the app. If you’re experiencing crashing, freezi…

ipadqq闪退

各位果粉们,你们的ipadqq最近是不是频繁的闪退?好烦人,ipadqq闪退一上一下,接个信息都不容易,这到底是怎么回事?根据网友的反馈,包括iPad Air 2和iPad mini在内的机型在运行QQ时一直出现闪退的情…

iPad闪屏跳动怎么回事?怎么解决?

最近,很多用户在苹果论坛反馈iPad在使用一段时间后,突然闪屏然后重启或闪屏后黑屏无法启动。 这是怎么回事呢?造成iPad屏幕闪烁的原因有许多,例如系统Bug、软件错误、设备进水导致触屏失灵、排线或主板故障、屏幕硬件损坏等。 如…

iOS App 闪退监测

为保障线上 App 的用户体验,我们一般都会对线上 App 的 crash 率做实时监控,一旦检测到 spike,可以即刻调查原因,但这一切的前提是 crash 日志能够准确上报。 crash 日志上报有两个难点: crash handler 安装之前的代…