首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
用户7924985186869
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
iOS底层学习 - 内存管理之内存管理方案
移动端的内存管理技术,主要有 GC(Garbage Collection,垃圾回收)的标记清除算法和苹果公司使用的引用计数方法。 相比较于 GC 标记清除算法,引用计数法可以及时地回收引用计数为 0 的对象,减少查找次数。但是,引用计数会带来循环引用的问题,比如当外部的变量强引…
关于iOS中的13种加锁方案
iOS中有很多锁,那么平时使用过程中到底怎么使用呢?本文分享13种加锁方案。本文较长总共一万字。文中代码在github上。 可以看到除了 OSSpinLock 外,dispatch_semaphore 和 pthread_mutex 性能是最高的。现在苹果在新系统中已经优化了 …
如何理解iOS的Runloop?
a. 保证程序不退出 ; b. 负责处理输入事件 ; c. 如果没有事件发生,会让程序进入休眠状态。 从上面可以得出结论,为什么要使用运行循环,因为这是一个 APP 的基本,没有运行循环,就没有 APP 的正常运行。 每一个线程内部都有一个消息循环。只有主线程的消息循环默认开启…
如何从资源和代码层面实现App全方位瘦身?-包大小优化
引言 其实关于此类的博客网上有很多,可能有很多是原创,可能有很多是转载,当然也有很多是抄袭,前些天看到头条也有一篇,写的很好,但是觉得对于初学者,实质性意义觉得不大【因为毕竟要代码保密,资源保密】。
OC 底层探索 - Association 关联对象
默认情况下,由于分类底层结构的限制,不能直接给 Category 添加成员变量,但是可以通过关联对象间接实现 Category 有成员变量的效果。
iOS 底层探索 - KVC
Key Value Coding 也即 KVC 是 iOS 开发中一个很重要的概念,中文翻译过来是 键值编码 ,关于这个概念的具体定义可以在 Apple 的官方文档处找到。 我们通常使用访问器方法来访问对象的属性,即使用 getter 来获取属性值,使用 setter 来设置属…
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…
iOS模块化管理之CocoaPods实战
初始本地iOS项目,添加podspec文件。 将初始化后的项目与远程私有仓库进行关联。 添加私有库上传脚本。
iOS土味儿讲义(二)--弹窗的前世今生
整个系列龟速更新中,觉得有意思的请点下 Star,有疑问或者任何想法和建议欢迎提 Issues。 开始之前先对上一篇《一个Button引发的血案》的一些疑问做一些总结说明。 这整个一系列的文章里面,所有的需求都是我编的,可能有人在自己过往的项目中遇到过类似的,也有可能没遇到过甚…