在iOS中Mach-O文件主要有以下三种: 可执行文件; 目标文件,如.o文件; 动态库,如dylib,framework文件; Mach-O文件的格式一般包括一个Mach-...
在iOS中Mach-O文件主要有以下三种: 可执行文件; 目标文件,如.o文件; 动态库,如dylib,framework文件; Mach-O文件的格式一般包括一个Mach-...
基础优化策略 延迟分配&懒分配 高效初始化内存malloc分配的小块内存,并不会保证清零初始化,一般会配上memset来初始化。但memset会强制将虚拟内存映射到触发物理内...
为了便于我们更好的学习苹果的底层的内存的分配,所以将苹果的官方libmalloc源码编译好以便我们能够更好的去动态调试。 说明:由于里面删除了好多的东西,并且注释了好多(也不...
上一篇: iOS底层原理01 - 对象alloc、init、new源码分析[https://www.jianshu.com/p/23e981e5784c]下一篇: iOS底层...
前言 OOM全称 Out Of Memory,指的是因为内存使用过多而导致的 APP 闪退。其实这本身是一种操作系统管理内存的机制。因为手机的内存是有限的,不可能无限制的使用...
前言 离屏渲染(Offscreen Rendering),对于这个概念作为iOS开发者相信大家并不陌生,多多少少会有一些了解,比如“设置圆角、mask、阴影会触发 离屏渲染”...
有关启动时间 启动方式 冷启动:当应用启动时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用, 这种启动方式就叫做冷启动。(即后台不存在该应用进程) 热启动...
如果经常要在子线程中做事情,不使用保活,就会一直创建、销毁子线程,这样很耗性能的,所以经常在子线程做事情最好使用线程保活,比如AFN2.X就使用RunLoop实现了线程保活。...
在上篇博客曾聊过对任意方法Swizzle有多种应用,其中之一就是对多个方法的开始或者结束添加统一的切面调用。很有名的Aspect库利用类似于KVO实现原理来实现,在运行时给需...