转自:https://www.jianshu.com/p/9fc2132d09c7 三方工具 MLeaksFinderPLeakSniffer 什么是内存泄漏,通俗来说就是有...
我们在需求开发的过程中,往往会有计算文字宽度和高度的要求,遗憾的是Flutter并没有提供计算文字宽/高的方法,无意中看到 Magic旭[https://www.jiansh...
简书好像不支持上传本地markdown文件,已更新到掘金社区。地址[https://juejin.cn/post/7048634505770303518/#heading-7]
优秀
讲这三个东西,要明白俩个概念:cleanMemory和dirtyMenory cleanMemory: 加载后不会更改的内存,在内存紧张时,可以移除,需要时再从磁盘加载 比如...
内存管理之Tagged pointer iOS开发者对引用计数这个名词肯定不陌生,引用计数是苹果为了方便开发者管理内存而引入的一个概念,当引用计数为0时,对象就会被释放。但是...
转载自YYKit作者博客[https://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/#1]:15年...
前言 前面我们分析了对象&类&元类的层次结构,以及他们之间的关系。显然,类模版cls是我们整个OC面向对象设计里面的核心数据结构。它保存了对象创建所需的信息(大小,成员,成员...
前面2篇我们了解了dispatch_queue_t的数据结构和main queue、global queue、user queue之间的参数差别和dispatch_sync(...
队列组 队列组的简单使用 -- 监听任务的完成 1、所有的任务会并发的执行(不按序) 2、所有的异步函数, 都是添加到队列中, 然后再纳入到队列组的监听范围 3、使用disp...
前言 上一篇[https://www.jianshu.com/p/247c7d48e574]我们根据底层源码,构想画了一张图。那么他们的底层是如何实现的?他们之间的关系又是什...
oc是面向对象的语言。对象可以看做我们对底层数据的抽象封装。对象有自己的成员变量,具备一些功能,有自己所属的类,甚至有父类,子类。那么oc的面相对象是怎么设计,怎么实现的?它...
前言 涉及内容较多,很多细节需要进一步探索,希望同学们多多批评指正。 XNU加载app 参考资料:iOS 系统内核 XNU:App 如何加载?[https://time.ge...
引子 前面我们探索了对象的内存空间分配的alloc函数。通过align16和align8计算对象所需内存大小。实际上每次都会走align16 的cacheFastInstan...
作者:匿名用户链接:https://www.zhihu.com/question/408337933/answer/1368812550[https://www.zhihu....
前言 从一个对象的alloc开始,让我们入OC底层实现,去探索学习OC源码。 初步总结 alloc具有开辟一块内存的功能,而init 没有开辟内存的功能 ps:栈区 开辟的内...
谢谢鼓励,有啥不好的地方希望批评指正
OC底层原理-objc_msgSend流程分析上前言 我们都知道OC是一门动态的语言,它的核心就是rutime机制。而消息发送objc_msgSend可谓是rutime机制的基石。下面就让我们通过源码来揭开objc_msg...
当lookupImpOrForward函数从cache和methodTable中找不到对应Method,继续向下执行就会来到resolveMethod_locked函数也就是...