自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 AutoreleasePool源码分析

现在我们已经进入了ARC时代,编译器帮我们在编译代码时自动对变量进行内存管理,使开发者不用再为了对象因为内存管理问题而头疼。AutoreleasePool是自动释放池,当我们在使用@autoreleasepool块时,自动释放池将会对池内对象进行管理,直到变量不被使用时,将其内存进行回收。一、调用源码struct __AtAutoreleasePool { __AtAutorelea...

2018-12-31 00:18:49 334

原创 iOS自动引用计数

引用计数:顾名思义,就是对象当前被引用的计数retainCount。当retainCount为0时,表面当前对象没有被任何其它对象引用;当retainCount不为0时,则对象任被系统中其它对象所引用,所以此时对象还仍被使用中,内存不能被系统所回收。只用当retainCount为0时,对象才能被系统所回收。生成对象的引用计数规则:自己生成的对象,自己持有。 非自己生成的对象,自己也能持有...

2018-12-24 22:15:05 493

原创 从NSObject开始了解isa

几乎所有的类都是继承自NSObject开始实现的,所有这篇文章我们也将从NSObject类开始来了解对象的创建及isa,文章也将从runtime源码开始让读者了解isa究竟是什么东西。一:对象分解NSObject* object = [[NSObject alloc] init];NSObject* object = (((id)((NSObject *(*)(id, SEL))(v...

2018-12-19 23:13:55 252

原创 Tagged Pointer作用

Tagged Pointer是苹果在 64 位架构下为了提升系统数据处理及执行效率,提出来的新概念。提出的原因是当在32位架构下,假设一个整型在32位系统下占4位,到了64位系统下将会占8位,既是内存翻了一倍;所以如果是一个占8位内存的指针,到了64位系统下占用内存也将是翻一番。所以苹果从内存和效率方面进行了考虑,使用了Tagged Pointer进行了优化,使得NSNumber、NSDate这类...

2018-12-13 23:36:01 174

原创 __weak与__block的使用

一、缘由有时候会因为循环引用导致对象无法释放时,会导致内存泄漏问题,使程序内存无法及时释放而内存增加。有时候我们想在block块中修改外部变量或者对象的值或属性,这些问题和需求使我们不得不去想办法更好地解决,这个时候我们会想到的是使用__weak和__block进行修饰。二、block定义在进行__weak和__block使用之前,我们先来对block块的基本定义回味一下,让接下来阅读...

2018-12-09 15:14:41 995

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除