首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
底层相关
订阅
爱吃榴莲的大葱君
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
多线程深入一点
在早期只有单核的时候其实没有真正意义上的多线程,因为是CPU在时间片里不停地切换线程执行任务,时间片是非常小的以及CPU的调度能力让人觉得多线程的一种错觉,现在手机都是多核,存在真正的多线程。感谢wszcug指正。 Runloop管理线程。当线程的Runloop开启后,线程会开…
iOS程序员的自我修养-MachO文件结构分析(二)
进程是特殊文件在内存中加载得到的结果。那这种文件的格式必须是系统内核可以理解的,系统内核才能正确解析。 系统内核将文件读入内存,然后寻找文件的头签名(魔数magic),根据magic就可以判断二进制文件的格式。 其实PE/ELF/Mach-O这三种可执行文件格式都是COFF(C…
笔记-源码解析之dispatch_once、信号量、调度组
这串代码不用解释,相信大家都熟悉。现在前往源码解析 这里的once就是一个long类型,拿到它的指针类型传入到函数里。 第一句代码把我们传进来的指针强转成dispatch_once_gate_t,进入这个会发现它是一个结构体,里面只有一个联合体。 从这句代码可以看出,这里是创建…
Hybird 开发之 JavaScriptCore
通过 JavaScriptCore 框架,你可以在 Objective-C 或者基于 C 的程序中运行(evaluate) JavaScript 程序。它还能帮你插入一些自定义对象到 JavaScript 环境中去。 JavaScriptCore框架其实就是基于webkit中以…
丁香园iOS电话面试问题总结
今天下午去面试去面试一家初创公司,然后又接到到了丁香园的电话面试,这篇blog记录一下面试的一些问题,有的回答的还行,有点感觉不太好,主要是有些英文单词说的太low了估计被鄙视了吧,下面给大家总结一下面试的一些问题,有些回答是摘要一些大神blog的出处,都有给原链接,希望见谅~…
浅谈iOS中图片解压缩从文件渲染到屏幕的过程
将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,从文件到屏幕,其中还包括了对图片的解压缩操作。 如上图所示,图片渲染到屏幕上,是CPU和GPU协作完成的。 我们使用 +imageWithContentsOfFile:(使用Image I/O创…
iOS程序员的自我修养-编译、链接过程(一)
OC是用Clang/LLVM来编译的。接下来我将用clang来展开整个过程。main.m文件源码如下: 平时用Xcode去Build,一键从源码到程序。这个过程中隐藏了预处理、编译、汇编和链接4个过程如下: 处理源代码文件中的以"#"开头的预编译指令。规则如下: "#defin…
探秘 Mach-O 文件
之前负责项目的包体积优化学习了 Mach-O 文件的格式,那么 Mach-O 究竟是怎么样的文件,知道它的组成之后我们又能做点什么?本文会从 Mach-O 文件的介绍讲起,再看看认识它后的一些实际应用。 Load Commands(加载命令),正如官方的图所示,描述了怎样加载每…
RxSwift(十一) KVO基本使用及实现原理探究
使用RxSwift后,经常会用到KVO,但是并没有去探究底层是如何实现的,是否和swift的KVO实现原理相同,本文将探究RxSwift里的KVO的底层实现原理。 rx.observeWeakly: 效率较低一些,因为它要处理对象的释放,防止弱引用。所以它一般使用在weak属性…
iOS性能优化之页面加载速率
之前搜罗了网上很多关于iOS性能优化方面的资料 ,本人和我的小伙伴们也用了一些时间针对自己的App进行了App的启动速率、页面的加载速率和 页面的帧率方面进行了优化,所以结合了理论和实践,把我们在实践中主要踩过的坑和需要注意的东西 ,总结了一下,希望可以帮到正在准备进行App的…