目录 前言 1. 谁想看这个 Session 2. 内容提要 Mach-O 简介 术语 Segment Section Segment 的类型 Mach-O Univeral Files 虚拟内存简介 间接层 ...
【WWDC17】优化 APP 启动(dyld 2 -> dyld 3)
目录 前言 术语 Darwin 里的 dyld 的全称 启动时间 (Startup Time) 启动闭包 (Launch Closure) 回顾 WWDC16:优化 APP 启动的建议 减少启动阶段的任务 多使用 Swift Instruments:...
【WWDC19】优化 APP 启动(基于 dyld 3)
目录 前言 1. 什么是启动 暖场小故事 为什么启动很重要 1. 第一印象 2. 可以反映整体的代码质量 3. 性能 启动的类型 1. 冷启动 2. 热启动 ...
【iOS 14】Objective-C Runtime 的优化
目录 前言 新特性的适配 1. 新增类型:class_rw_ext_t class_ro_t Clean memory & Dirty memory class_rw_t 从 class_rw_t 中拆分出 class_rw_ext_t 实例 macOS...
po、p、v 命令;LLDB 的自定义 Data Formatter;在 LLDB 中使用 Python 脚本
目录 前言 LLDB 常用命令 po、p、v LLDB 常用命令一:po po 的常见用法 po 是 expression 命令的 alias 创建自定义的 alias po 的原理 LLDB 常用命令二:p ...
警惕 NSTimer 引起的循环引用
典型案例:使用 Target-Action 模式添加 NSTimer 考虑这种场景:进入一个页面后,启动 timer;退出此页面后,timer 也销毁。 看看下面的代码实现有什么问题: #import "ViewController.h" @interface ViewController () @property (nonatomic, strong) NSTimer *timer...
在 macOS 的 Mission Control 中展示完整的桌面预览
背景 在 macOS 的某个大版本升级后,Mission Control 的桌面预览变成了只有桌面编号的缩略样式,在不同桌面之间切换时非常不方便。 后来我发现了一个叫 forceFullDesktopBar 的插件,可以强制 Mission Control 展示完整的桌面预览。 forceFullDesktopBar 简介 原理:Modifies the Dock process s...
Blog's 2020:扬帆起航
2020年8月8号凌晨写下标题后就睡了,想着早上起来再接着写。而现在已经是11号深夜了。 突然听到她的消息 8号是周六,原本打算利用这个周末好好规划一下写博客的事情。然而早上刚起床,就看到了关于她的消息。为了调节情绪,整个周末都没有学习,一直在弹琴,想在音乐的世界里找到一些慰藉。 尘封往事 2018年年中刚和前女友分手时,情绪波动得厉害,处于一种恍惚的状态中,没心思专研技术,睡眠也不...
在 Ubuntu Server 中使用 Shadowsocks 客户端
一个墙内 Ubuntu Server 的无奈 2018/12/26 更新:之前写了这篇文章的标题后、博客就停更了,然后一年过去了。。。前段时间写了一个关于「翻(和谐)墙」的详细指南(为此还专门建了一个仓库),这篇所想讲的内容已经被涵盖,可直接参考该仓库的相关内容。
Shadowsocks 改用 443 端口
情况分析 伴随着十九大的胜利召开, 部分运营商加强了对境外网站访问的管控, 导致许多业内人士登不上 Google, 严重影响了工作的效率. 其中管控最严格的是北京电信. 北京电信启用了端口白名单(详情可查看这个帖子), 墙外的大部分机器都只能通过 1024 以下的端口访问, 比如 22 和 443 端口. 其他端口基本上被封, 比如我们常在 ss 上用的 8388 和 8989 端口. ...