首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
收納箱
掘友等级
iOS工程师
|
字节跳动
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
24
文章 24
沸点 0
赞
24
返回
|
搜索文章
最新
热门
从高斯模糊到Category方法加载
1. UIVisualEffectView iOS 8系统为我们提供了UIVisualEffectView。我们可以利用这个类来完成高斯模糊的效果。 2. snapshot的问题 我们可能在做转场动画的时候需要对这个视图进行"截图",或者说可能利用的某个三方库的实现就是截图,那…
Runtime面试题与栈区参数
1. 面试题 当然,本着 反正不是真面试 的态度,直接跑一下不就行了,嘿嘿。 下面我们仔细分析一下。 2. 分析 这一步获取到了Speaker的类对象,id表示将其转换为一个对象指针,实际类型为struct objc_object *。 而 [Speaker class] 的返…
iOS一道复合型面试题与底层原理
0. 引言 我们常常吐槽面试的难度,甚至出现了 “面试造火箭,开发拧螺丝” 说法。作为客户端开发人员,面试直接让你现场手撸一个红黑树,难度是很大的,除非你专门准备过。 但常见的考点我们是需要知道的。有时考点可能被包装了一下,可能没法一下就看出来,但看破考点之后就会有恍然大悟的感…
fishhook x MachOView源码阅读
1. fishhok原理 dyld通过更新Mach-O二进制文件中特定__DATA段的指针来绑定惰性和非惰性符号。fishhook通过传递给rebind_symbols的符号名来确定需要更新的位置,然后用相应的替换项重新绑定这些符号。 对于给定的镜像,__DATA段可以包含与动…
iOS圆角的离屏渲染,你真的弄明白了吗
1. 如何设置圆角才会触发离屏渲染 我们经常看到,圆角会触发离屏渲染。但其实这个说法是不准确的,因为圆角触发离屏渲染也是有条件的! 我们发现设置cornerRadius大于0时,只为layer的backgroundColor和border设置圆角;而不会对layer的conte…
WWDC20 iOS14 Runtime优化
1. Class结构体变化 这个类对象包含了最常用的信息:指向元类、父类、以及方法的缓存。它还有一个指针指向更多的额外信息class_ro_t,其中 ro表示read only 。这部分信息是只读的,其中包含了类名、方法、协议、实例变量和属性等信息。Swift类和Objecti…
UIView/CALayer渲染的触发时机
1. 测试触发时机 为了探究渲染的触发时机,我们自定义一个TestView并复写 drawRect: 方法。 我们在 drawRect: 方法中设置一个断点,然后运行我们的测试代码。 刚运行起来就会进入断点,我们在 lldb 中使用 bt 打印一下调用栈。 从调用栈我们可以看到…
iOS 图片、视频转字符画
0. 效果 1. 实现原理 首先,我们知道在OpenGL中颜色有4个通道RGBA,对于一般图片。那还有3个通道需要处理,RGB。 而我们的字符画使用1个字符表示1块颜色,即我们需要将RGB三个通道进行某种处理(3个值),让它们变为1个值,我们才能对应某1个字符。 上面所说的某种…
懒人版二进制重排
0. 序言 第一篇讲了动态库转静态库和二进制重排带来的启动优化以及其原理。 第二篇讲了动态库转静态库到底带来了哪些改变,以及实践中遇到的问题应该如何解决。 本篇将介绍懒人版的Clang插桩导出主工程和三方库启动相关的符号表,原理可以参考《我是如何让微博绿洲的启动速度提升30%的…
我是如何让微博绿洲的启动速度提升30%的(二)
之前的文章《我是如何让微博绿洲的启动速度提升30%的》收到了很多朋友的反馈。 其中,动态库转静态库的收益相比于二进制重排收益更大,但在实际操作中大家也遇到了一些问题。 本着装完X就跑,自己装的X,跪着也要装完的原则,在这里我详细来讲一讲这些问题。 1. 修改Mach-O Typ…
下一页
个人成就
文章被点赞
918
文章被阅读
116,832
掘力值
3,755
关注了
3
关注者
2,100
收藏集
2
关注标签
8
加入于
2020-04-28