首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
面试
订阅
曉風滿月
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
iOS - 老生常谈内存管理(五):Tagged Pointer
在objc4源码中,我们经常会在函数中看到Tagged Pointer。Tagged Pointer究竟是何方神圣?请开始阅读本文。 1. Tagged Pointer 是什么? 为了节省内存和提高执行效率,苹果在64bit程序中引入了Tagged Pointer技术,用于优化…
iOS 逆向 - Hook / fishHook 原理与符号表
本篇文章较与依赖前一篇 Mach-O文件 的先导知识 , 建议先阅读后再探究 . HOOK,中文译为 “挂钩“ 或 “钩子” 。在 iOS 逆向中是指改变程序运行流程的一种技术。通过 hook 可以让别人的程序执行自己所写的代码。在逆向中经常使用这种技术。所以在学习过程中,我们…
[贝聊科技]一次立竿见影的启动时间优化
@NewPan 贝聊科技 iOS 菜鸟工程师 之前公司的 UI 设计师和我们提过好几次启动时间的事情,当时在开发业务,所以没有时间去做这件事。最近发完版本,终于有时间搞一搞启动时间了。 一般而言,启动时间是指从用户点击 APP 那一刻开始到用户看到第一个界面这中间的时间。我们进…
iOS拾遗——为什么必须在主线程操作UI
究竟为什么一定要在主线程操作UI呢?如果在后台线程对UI进行操作会发生什么?在后台线程对UI进行操作不是可以更好的避免卡顿吗?这篇文章就是基于这样一些疑问而产生的。
Runtime源代码解读4(方法列表)
类的方法包括实例方法(instance method)和类方法(class method),两者保存在完全不同的地方,实例方法保存在类的方法列表中,类方法保存在元类的方法列表中。在Runtime源代码解读(实现面向对象初探)中已介绍过方法的基本数据结构objc_method,以…
给iOS中高级求职者的一份面试题解答
1、原子操作对线程安全并无任何安全保证。被 atomic 修饰的属性(不重载设置器和访问器)只保证了对数据读写的完整性,也就是原子性,但是与对象的线程安全无关。 2、线程安全有保障、对性能有要求的情况下可使用 nonatomic替代atomic,当然也可以一直使用atomic。…
另一份有点难的 iOS 面试题
这一年的时间已经经历了实习、校招好几次的面试了,对于每个准备找工作或者已经找到工作的人来说,准备面试题都是一次提升自己的机会。但比较庆幸的是,本人几次面试所遇到的问题都比较简单,没有太多能让自己有所提升的内容,而网上流传的各种面试题如今看来也没有什么太大的新意。因此我决定自己出…
iOS 高级面试题--答案
最近准备复习一下面试题,看到了J_Knight_在18年的出一套 iOS 高级面试题尝试着回答一下题目,由于水平有限,如有错误的地方,请大家多多指教。 1. 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员? 3. 被weak修饰的对象在被…
iOS 底层 - 从头梳理 dyld 加载流程
了解 dyld 的加载流程可以帮我们更系统的了解 iOS 应用的本质 . 无论是在逆向方向或者在底层研究方面 , dyld 都是必不可少的领域 . 对流程梳理清楚可以帮助我们更好地了解一些基础原理 . 例如我们之前讲 分类底层原理详细研究流程 , load方法调用机制解析 , …
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…