首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
iOS APM
Seal_Shile
创建于2021-11-09
订阅专栏
If you can't measure it, you can't improve it.
等 54 人订阅
共18篇文章
创建于2021-11-09
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
APM - iOS 基础功能 Hook - Method Swizzle
简介 AOP 跟面向对象编程(OOP)一样,面向切面编程(AOP)是一种编程范例。这种编程思想旨在通过横切面,提高项目的模块化程度。通过对现有代码进行切入,在切入点单独指定和实现代码,通常是非业务逻辑
APM - iOS 卡顿监控 Hang
简介 Hang APP一段无响应的阶段,由于主线程忙于其他任务或者等待其他线程或者系统资源,导致视图内容更新延迟至少250ms Main Loop 用户与设备进行交互,Runloop接收事件,处理事件
APM - iOS 卡顿监控 Hitch
简介 卡顿的定义有多种,按照卡住的程度排列的话,有这么几种,从ANR到Hitch,本文主要描述Hitch,Render Loop以及如何发现和修复Hitch。 Hitch hitch代表任何时候一帧比
APM - iOS Crash监控 KSCrash代码解析
简介 主要功能 支持离线符号化的设备上符号化(对于部分iOS系统上很多函数被编辑过的来说很有必要) 生成包含完整字段的Apple报告 处理了部分只出现在mach异常的错误,例如栈溢出 追踪一个未被捕获
APM - iOS 内存泄漏监控 FBRetainCycleDetector代码解析
简介 循环引用是常见的导致内存泄漏的方式,很容易导致循环引用而且难以发现。FBRetainCycleDetector的作用是在运行时找到引用环。 循环引用为什么会导致内存泄漏 ARC(自动引用计数)使
APM - iOS 内存泄漏监控 MLeaksFinder代码解析
简介 MLeaksFinder是微信开源的可以在iOS开发阶段用来检测内存泄漏的库,可以自动的在UIView和UIViewController中发现泄漏,通过弹出框显示在View-ViewContro
APM - iOS 内存泄漏监控 QQLeakChecker代码解析
简介 QQLeakChecker是OOMDetector中用于检测内存泄露的库,目前只可检测真机运行时的内存泄漏,模拟器暂不支持 为了避免内存访问冲突,扫描过程需要挂起所有线程,整个过程会卡住程序1-
APM - iOS OOM监控 OOMDetector代码解析
简介 OOMDetector实现了FOOM监控,内存阈值OOM监控和内存分配监控 流程图 通过Hook IOS系统底层内存分配的相关方法(包括malloc_zone相关的堆内存分配以及vm_alloc
APM - iOS OOM监控 XNU Jetsam
简介 在移动端设备中内存始终是紧张资源,受限于电量和闪存性能,移动端并没有memory swap机制,而是使用compress机制。在可用内存不足的多种情况下,iOS中会使用Jetsam机制按照内存占
APM - iOS 卡顿监控 方案和指标
简介 iOS卡顿监控有多种不同的方案和指标,在实施成本和指标精确度上各有不同。本文例举一下常见的方案和代码,以及其指标的实现和拟合程度。 FPS 帧率 FPS数据,依据页面信息做聚合,或者APP版本之
APM - iOS 卡顿监控 Runloop
简介 Runloop是一种Event Loop的循环机制。 https://en.wikipedia.org/wiki/Event_loop Runloop与线程 Runloop与线程是紧密关联的,包
APM - iOS 网络监控
简介 iOS常见网络库 短链接 NSURLSession Alamofire AFNetworking SDWebImage Kingfisher CFNetwork Libcurl Cronet 长
APM - iOS 启动监控和优化
启动类型 冷启动 热启动 恢复 一、启动顺序 以Main函数分隔 Pre-main Post-main 二、启动监控 由于系统影响因素,需要我们对齐冷启动测量方式 dyld3相对于dyld2,添加了缓
APM - iOS 卡顿监控 Matrix实现原理
一、简介 卡顿类型 卡顿判断依据 Runloop 启动状态 前后台切换 CPU Memory 线程信息 电量信息 二、卡顿监控SDK RunLoop Observer kCFRunLoopCommon
APM - iOS 基础功能 Hook - Fishhook 原理解析
简介 fishhook是动态重新绑定iOS中Mach-O二进制文件中符号的库。 这是一个很好的用于hook libSystem的方式,以便调试和追踪。iOS系统中多数系统库都是动态库的形式,由dyld
APM - iOS 基础功能 调用栈获取原理浅析
简介 调用栈有什么作用? 定位问题。 什么是调用栈(call stack)? start函数调用main,main函数调用UIApplicationMain,一直调用下去,所以叫做调用。如图所示,后进
APM - iOS 基础功能 堆栈符号化原理和实践
原理 符号化 使用符号表对APP发生Crash的程序堆栈进行解析和还原。如下所示: 符号表 iOS的符号表是dSYM文件,符号表是内存地址与函数名、文件名、行号的映射表,逻辑数据结构是HashMap。
APM - iOS Crash监控 原理浅析
简介 一、什么是Crash? 对于用户来说直观的感觉是崩溃闪退。 Crash常见的原因有哪些? CPU无法执行的代码 语言层面抛出异常 被系统强杀 应用内存消耗过高OOM 主线程长时间无法响应ANR