首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
用户9422068161657
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
iOS 性能优化实践:头条抖音如何实现 OOM 崩溃率下降50%+
OOM 其实是Out Of Memory的简称,指的是在 iOS 设备上当前应用因为内存占用过高而被操作系统强制终止,在用户侧的感知就是 App 一瞬间的闪退,与普通的 Crash 没有明显差异。但是当我们在调试阶段遇到这种崩溃的时候,从设备设置->隐私->分析与改进中是找不到…
分析字节跳动解决OOM的在线Memory Graph技术实现
什么是OOM,为什么会发生OOM以及其原因分析,大家去看原文就好了,本文主要分析APP内存使用到达阈值后,如何采集MemoryGraph信息并分析。什么是MemoryGraph?这个时候就进入了断点模
自研 iOS 热更新机制——OCPack技术方案总结
I. 方案简介 OCPack是一种 iOS 平台上 App 动态化技术方案,用户可以使用 Objective-C 语言编写待动态化的功能逻辑(生成.m文件),然后通过OCPack提供的工具链生成 patch 文件(.bin格式)。客户端则内置了一个基于 Native 环境的的虚…
iOS内存管理详解
从上图可以看到,栈里面存放的是值类型,堆里面存放的是对象类型。对象的引用计数是在堆内存中操作的。下面我们讲讲堆和栈怎么存放和操作数据, 还有MRC和ARC怎么管理引用计数。 这就好像候机的时候,无论谁先到达候机厅,总是头等舱的乘客先登机,然后是商务舱的乘客,最后是经济舱的乘客。…
iOS汇编入门教程(二)在Xcode工程中嵌入汇编代码
上一篇文章 iOS汇编入门教程 中介绍了汇编在iOS开发中的应用以及ARM汇编基础知识,本文将介绍在C或Objective-C构成的工程中如何嵌入汇编代码。 在调试ARM汇编时,Xcode的Build对象必须为真机,如果对象为模拟器则是x86汇编。 在函数中可以直接插入汇编代码…
iOS线程数量监控工具
简单却强大的线程监控工具 KKThreadMonitor :当线程过多或瞬间创建大量子线程(线程爆炸),控制台就打印出所有的线程堆栈。便于分析造成子线程过多或线程爆炸的原因。 有一定iOS开发基础的,应该都知道不合理创建线程,是会造成性能问题的。而业务的积累和迭代过程,可能就不…
iOS逆向学习之十(arm64汇编入门)
iOS汇编语音有很多钟。常见的有8086汇编、arm汇编、x86汇编等等。 iOS的架构从最初的armv6发展到后来的armv7和armv7s,最后发展到现在的arm64,不管是armv6还是后来的armv7,以及arm64都是arm处理器的指令集。armv7和armv7s是真…
监控所有的OC方法耗时
类似os_signpost,支持针对每个功能点监控性能问题。 支持显示调用堆栈。(维护stack frame) ,受益良多。我运用其中的hook objc_msgSend思想,写一个监控App里所有耗时的OC方法,以便以后开发过程中,能时刻监控App耗时性能问题。本文主要包含两…
iOS底层探索 - 通过objc_msgSend实现iOS方法耗时监控
如果有这么一个需求,要监听所有OC方法的耗时时间,我们要如何实现?本文将描述如何利用 fishhook 去拦截底层的 objc_msgSend 实现,从而达到监控所有 OC 方法的目的。 Ps: 本文不涉及 objc_msgSend 源码解析,只专注于 Hook及耗时统计。对其…
iOS优秀第三方源码解析(一、深入理解fishhook源码)
但MethodSwizzling只能对Objective-C方法进行Hook,如果要对C/C++方法进行Hook操作,可以使用facebook提供的fishhook框架,本文是对该框架的解读。 首先,我们需要了解几个常见的概念,有助于后面源码的阅读。 Mach-O: 在iOS和…