首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
ibiaoma
掘友等级
coder
获得徽章 15
动态
文章
专栏
沸点
收藏集
关注
赞
108
文章 91
沸点 17
赞
108
返回
|
搜索文章
最新
热门
iOS中的内存管理
内存管理对iOS开发者来说,是很重要的一环。 栈:函数调用开销,比如局部变量。分配的内存空间地址越来越小 堆区需要程序员进行管理,如何管理、记录、回收就是一个很值得思考的问题。 iOS 采用的是引用计数(Reference Counting)的方式,将资源被引用的次数保存起来,…
iOS中的block
结构体里根本没有变量c或它的指针,说明全局变量不会被捕获。 因为在堆上的block才是开发人员管理的,而且现在基本都是在ARC环境中开发,编译器会自动做了一部分工作(主要是将栈上的block拷贝到堆上),那就看看block中的copy. 在MRC下,p释放后,才会去执行bloc…
iOS中的定时器
NSTimer是iOS中最常用的定时器。其通过Runloop来实现,一般情况下比较准确。但是当前循环耗时操作较多时,会出现延迟问题。同时,也受所加入的RunLoop的RunLoopMode影响。 CADisplayLink是基于屏幕刷新的周期,所以其一般很准时,每秒刷新60次。…
iOS中的签名机制
说到签名机制,首先要了解一下加密解密,签名文件就是加密解密的过程。 加密是将明文信息改变为难以读取的密文内容,使之不可读的过程。 解密是通过特殊的对象,将密文还原为正常可读的内容的过程。而在这个过程中,我们所使用的方法,就是加密解密算法。 加密分为对称加密与非对称加密(公开密钥…
OC中的锁
自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。 其作用是为了解决某项资源的互斥使用。因为自旋锁不会引起调用者睡眠,所以自旋锁的效率远 高于互斥锁。 …
OC中的多线程
聊到多线程,最先要弄清楚两个概念进程与线程。 这些是计算机的基础知识,推荐一篇文章,讲的挺详细。 进程(Process)是计算机中具有一定独立功能的程序关于某个数据集合的一次运行活动。 它可以申请和拥有系统资源,是系统进行资源分配和调度的基本单位。 从狭义上,可以将进程理解为正…
OC中的RunLoop
虽然同样是老生常谈的问题,但RunLoop真的很重要。 这两篇文章总结的很详细,我这里权当笔记记录而已。 UIApplicationMain函数内部帮我们开启了主线程的RunLoop。 一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程…
OC中的runtime
老生常谈了。。。 说起OC,最具代表性的就是它的动态性,其实完全就是靠runtime完成的。 OC语言是一门动态语言,会将程序的一些决定工作从编译期推迟到运行期。 所以在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错,只有当运行的时候才会报错,这是因…
OC中类的结构
但是从arm64之后,对isa进行了优化,变成了一个共用体(union)结构,还使用位域来存放跟多的信息。 位域的运用,使得isa能够在同样的内存空间下,存储更多的信息。 如果为1,代表优化的,使用了位域,想要得到类对象、元类对象,需要&上一个ISA_MASK才能得到…
OC对象的本质
如果要想看C++文件长什么样子?我们可以使用命令将OC代码转换成C/C++代码。 是的,OC对象转化成C++代码后就是通过结构体的形式存储在内存中的。一个对象可能多个不同类型的属性,所以以结构体的形式存储。 对于结构体来说,和数组一样。其第一个成员的地址,即为结构体对象的地址。…
下一页
个人成就
文章被点赞
55
文章被阅读
13,306
掘力值
530
关注了
34
关注者
29
收藏集
2
关注标签
19
加入于
2016-08-16