一. 简介 App的启动时间是衡量一个App性能的重要指标,或者可以说是App性能的第一印象。在这篇文章中,我们将要介绍启动时间的相关知识和打点...

一. 简介 App的启动时间是衡量一个App性能的重要指标,或者可以说是App性能的第一印象。在这篇文章中,我们将要介绍启动时间的相关知识和打点...
mach_loader的任务完成之后,下面就轮到mach_dyld出场了。iOS中,存在大量的动态链接库(dylib),动态连接器需要在程序启动...
原文地址 写在之前 之前工作中对Mach-O文件有一定的接触, 原本早就想写一篇文章分享一下,但是奈何只是不够深入, 总怕分析的有问题误导读者。...
iOS编译 当一个xcode工程build之后一般会执行如下几个步骤: 预处理 语法和语义分析 生成代码和优化 汇编 链接 iOS编译采用Cla...
ASLR(地址随机化)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻...
介绍 动态库形式:.dylib和.framework 静态库形式:.a和.framework 动态库和静态库的区别 静态库:链接时,静态库会被完...
二进制重排 二进制重排其实并不是什么特别新颖的技术。 目的 二进制重排(layout)的目的在于将hot code聚合在一起,即使得最经常执行的...
崩溃的栈为: 一般在dealloc中取weak self会引起这个现象 原因:在weak_register_no_lock方法中runtime ...
weak基本用法 weak是弱引用,用weak描述修饰或者所引用对象的计数器不会加一,并且会在引用的对象被释放的时候自动被设置为nil,大大避免...
今天无意这中遇到一个奇怪的崩溃,先上引起崩溃的代码: 当执行到dealloc的时候,程序就crash 掉了。崩溃信息如下: 其中,可以在控制台明...
专题公告
iOS runtime等底层知识