首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
底层学习
订阅
大鱼D
更多收藏集
微信扫码分享
微信
新浪微博
QQ
29篇文章 · 0订阅
类创建对象时发生了什么?
一进来就进行断言,防止并发;之后判断是否有构造方法、析构方法的实现等(C++内容);之后先计算需要的内存,再去申请内存空间;最后将开辟的内存地与类对象做关联。 以上若有错误,欢迎指正。
OC内存管理--引用计数器
否则Runtime会使用一张散列表来管理引用计数。 Tagged Pointer指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。所以,它的内存并不存储在堆中,也不需要malloc和free; 在内存读取上有着3倍的效率,创…
iOS进阶-内存管理
堆区 :通过alloc分配对象、block copy... bbs区:未初始化的全局变量、静态变量... data区:已初始化的全局变量、静态变量... 答:有。全局变量存在全局区(bbs区/data区),局部变量存在栈区 apple在内存管理方面提供了三种方案(TaggetP…
谈谈程序启动那点事
“函数可重入”,表示函数没有执行完成,由于外部因素或内部因素,由一次进入该函数执行。一个函数要被冲入,只有两种情况: 上述情况会导致变量x的值不相同。 Linux中使用clone(带有CLONE_VM参数)产生的用户态线程与内核态线程是一一对应得。 使用ld命令工具将不同的目标…
探究iOS线程调用栈及符号化
调用栈,也称为执行栈、控制栈、运行时栈与机器栈,是计算机科学中存储运行子程序的重要的数据结构,主要存放返回地址、本地变量、参数及环境传递,用于跟踪每个活动的子例程在完成执行后应该返回控制的点。 一个线程的调用栈如上图所示,它分为若干栈帧(frame),每个栈帧对应一个函数调用,…
细数iOS触摸事件流动
其中pointInside:withEvent方法用于判定触摸点是否在自身坐标范围内,默认实现是若在坐标范围内则返回YES,否则返回NO。因此,可通过重写UIView的hitTest:withEvent和pointInside:withEvent方法来修改事件的流向。 若视图是…
iOS Runtime中如何通过SEL找到IMP
Locate the implementation for a selector in a class method cache. 在类的方法缓存中 为 SEL 定位到 IMP。 5.此时全局搜索CacheLookup,在objc_msg_arm64.s中会找到其对应的宏Cac…
浅谈iOS中图片解压缩从文件渲染到屏幕的过程
将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,从文件到屏幕,其中还包括了对图片的解压缩操作。 如上图所示,图片渲染到屏幕上,是CPU和GPU协作完成的。 我们使用 +imageWithContentsOfFile:(使用Image I/O创…
iOS如何实现自动化打包
在我们的日常开发工作中,避免不了会出现这样的场景:需求迭代开发完成之后,需要提供ipa包给QA同学进行测试,一般会执行如下流程:1.执行Git Pull命令,拉最新的代码到本地 2.Pod Install安装最新的依赖库 3.在Xcode点击Archive编译并打包 4.选择输…
【基本功】深入剖析Swift性能优化
2014年,苹果公司在WWDC上发布Swift这一新的编程语言。经过几年的发展,Swift已经成为iOS开发语言的“中流砥柱”,Swift提供了非常灵活的高级别特性,例如协议、闭包、泛型等,并且Swift还进一步开发了强大的SIL(Swift Intermediate Lang…