首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
降维编程
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
iOS 性能优化总结
在 VSync 信号到来后,系统图形服务会通过 CADisplayLink 等机制通知 App,App 主线程开始在 CPU 中计算显示内容,比如视图的创建、布局计算、图片解码、文本绘制等。随后 CPU 会将计算好的内容提交到 GPU 去,由 GPU 进行变换、合成、渲染。随后…
iOS多线程:『GCD』详尽总结
什么是 『GCD』 ?我们先来看看百度百科的解释简单了解下相关概念。 程序员只需要告诉 GCD 想要执行什么任务,不需要编写任何线程管理代码。
iOS 底层探索 - 应用加载
App 从被用户在主屏幕上点击之后就开启了它的生命周期,那么在这之中,究竟发生了什么呢?让我们从 App 启动开始探索。在探索之前,我们需要熟悉一些前导知识点。 如上图箭头所示,App加载流程 就是我们 App 的二进制主文件。 对于接触 iOS 开发比较早的同学,可能知道我们…
面试问题总结 (一)
当一块内存释放的时候,本质上只是给这部分字节打了标签。并没有把字节里的二进制数据全部清成0或者1. 所以,当一块内存说是释放了,但如果没有其他的二进制数据去填充它,那么它的内部数据是一直存在的。 内存释放,数据仍然存在,就会出现一种僵尸对象的问题。 什么是僵尸对象?堆空间已经被…
Block
block 实际上就是 Objective-C 语言对于闭包的实现。 闭包:闭包是一个函数(或指向函数的指针),再加上该函数执行的外部的上下文变量(有时候也称作自由变量)。 即如果对栈Block进行copy,将会copy到堆区,对堆Block进行copy,将会增加引用计数,对全…
iOS开发总结(二)内存管理
例如 NSNumber 和 NSDate Tagged Pointer 指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。 所以,它的内存并不存储在堆中,也不需要 malloc 和 free 在内存读取上有着 3 倍的效率,…
腾讯iOS面试题- 分析 一
1. 项目使用过哪些网络库?用过ASIHttp库嘛 2. 断点续传怎么实现的?需要怎么设置 3. HTTP请求 什么时候用post、get、put ? 1、GET参数通过URL传递,POST放在Request body中。 2、GET请求会被浏览器主动cache,而POST不会…
做了5年iOS,靠着这份面试题跟答案,我从12K变成了30K
在博主认为,对于iOS面试以及进阶的最佳学习方法莫过于刷题+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考,刷题只是次之,这又是一个层次了,这里暂时不提后面再谈。 何谓面试? …
Cocoapods原理总结
CocoaPods是IOS项目的依赖管理工具,类似于Android的gradle,不过gradle不仅有依赖管理功能,还能负责构建。CocoaPods只负责管理依赖,即对第三方库的依赖,像gradle一样支持传递依赖,即如果A依赖于B,B依赖C,我们在A工程里指出A依赖于B,Co