首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS 深度系列
订阅
千虑必有一得
更多收藏集
微信扫码分享
微信
新浪微博
QQ
24篇文章 · 0订阅
iOS 瘦身之道
App 的包大小做优化的目的就是为了节省用户流量,提高用户的下载速度,也是为了用户手机节省更多的空间。另外 App Store 官方规定 App 安装包如果超过 150MB,那么不可以使 OTA(over-the-air)环境下载,也就是只可以在 WiFi 环境下载,企业或者独…
iOS探索 cache_t分析
关于cache_t的内容虽然不多但还是蛮绕的,多读读源码会有更深的理解。下篇文章讲objc_msgsend,作为cache_fill_nolock前置方法,一定程序上会对cache_t的理解有所帮助
iOS中的内存管理
内存管理对iOS开发者来说,是很重要的一环。 栈:函数调用开销,比如局部变量。分配的内存空间地址越来越小 堆区需要程序员进行管理,如何管理、记录、回收就是一个很值得思考的问题。 iOS 采用的是引用计数(Reference Counting)的方式,将资源被引用的次数保存起来,…
给iOS中高级求职者的一份面试题解答
1、原子操作对线程安全并无任何安全保证。被 atomic 修饰的属性(不重载设置器和访问器)只保证了对数据读写的完整性,也就是原子性,但是与对象的线程安全无关。 2、线程安全有保障、对性能有要求的情况下可使用 nonatomic替代atomic,当然也可以一直使用atomic。…
iOS如何提高10倍以上编译速度
经过多年的发展,美柚iOS项目代码已经达到40W行+的规模,所使用的 Pod 库的数量达到了110+,App Store 安装包210M+,在这么大的项目规模下(CI机器 MAC配置:3 GHz 8-Core Intel Xeon E5;时间:发布20min+),(开发机器iM…
iOS底层原理总结 - 探寻Runtime本质(二)
通过上一章中对isa本质结构有了新的认识,今天来回顾Class的结构,重新认识Class内部结构。 首先来看一下Class的内部结构代码,对探寻Class的本质做简单回顾。 上述源码中,method_array_t、property_array_t、protocol_array…
iOS底层原理总结 - 探寻Runtime本质(一)
在学习Runtime之前首先需要对isa的本质有一定的了解,这样之后学习Runtime会更便于理解。 回顾OC对象的本质,每个OC对象都含有一个isa指针,__arm64__之前,isa仅仅是一个指针,保存着对象或类对象内存地址,在__arm64__架构之后,apple对isa…
iOS底层原理总结 - 探寻block的本质(二)
上一篇文章iOS底层原理总结 - 探寻block的本质(一)中已经介绍过block的底层本质实现以及了解了变量的捕获,本文继续探寻block的本质。 大括号执行完毕之后,person依然不会被释放。上一篇文章提到过,person为aotu变量,传入的block的变量同样为per…
iOS底层原理总结 - 探寻block的本质(一)
block本质上也是一个oc对象,他内部也有一个isa指针。block是封装了函数调用以及函数调用环境的OC对象。 上图中将c++中block的声明和定义分别与oc代码中相对应显示。将c++中block的声明和调用分别取出来查看其内部实现。 上述定义代码中,可以发现,block…
iOS底层原理总结 - 探寻Class的本质
对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。 我们知道不管是类对象还是元类对象,类型都是Class,class和mete-class的底层都是objc_class结构体的指针,内存中就是结构体,本章来探寻Class的本质。 Class对…