现象 将 fishhook 开源版本[https://github.com/facebook/fishhook/tree/8ef82f0711494ecc78d16bf6ce...
现象 将 fishhook 开源版本[https://github.com/facebook/fishhook/tree/8ef82f0711494ecc78d16bf6ce...
前言 大家都可能都在自己的应用中集成Crash收集服务,通常使用NSSetUncaughtExceptionHandler() + signal() / sigaction(...
该文章属于刘小壮原创,转载请注明:刘小壮[https://www.jianshu.com/u/2de707c93dc4] Flutter默认是单线程任务处理的,如果不开启新的...
在做安装包大小优化前,我们应该首先搞清楚,用户在 app store 上看到的包大小,究竟是什么? 如果我们衡量安装包大小的口径,和用户看到的大小不一致,那么做优化时的优先级...
自从项目接入了 MLeaksFinder + FBRetainCycleDetector 的内存泄漏检测方案,在收获了许多有效内存泄漏的同时,我们也收获了两个 FBRetai...
之前写过 Xcode中和symbols有关的几个设置,天真地以为只要把和 STRIP_INSTALLED_PRODUCT 打开,且选择 STRIP_STYLE 为 All S...
在上篇文章代码注入,窃取微信密码中咱们已经简单的提到了MachO,在用Framework做代码注入的时候,必须先向MachO的Load Commons中插入该Framewor...
前言 最近在做一些App品质提升,启动时间优化是其中很重要的一项,本文围绕启动时间做一个深入了解。 正文 什么是启动时间? 启动时间可以理解为从用户点击App的Icon到用户...
1、像素是如何显示到屏幕上 从最初的电子枪显示器说起,电子枪逐行读取像素点,逐行发射到屏幕上,每当一行扫描完成,显示器会发出水平同步信号HSync;然后继续下一行,直到最后一...
本文会主要讲述一下 App 启动过程,系统做的一些事情。 1 iOS 系统架构 iOS 系统可以分为四层,从下往上介绍: 第一层是 Darwin 层,是操作系统的核心,属于操...
总览 利用已经被内核映射到内存中的可执行文件,instantiateFromLoadedImage生成 ImageLoader 将依赖库加载进内存,生成对应的 ImageLo...
卡顿检测系统,用于检测 App 的主线程运行情况。在追求 N 个9奔溃之外,卡顿也是我们极其重要运行指标。很遗憾,世界上最好的免费 APM 平台 Fabric 缺没有。而国内...
背景 讨论 WKWebview 在加载 h5 页面时,Objective-C里的 WKNavigationDelegate、window.performance.timing...
一. 引子 预加载作为常规性能优化手段,在所有性能敏感的场景都有使用。不同的场景会有不同的方案。举个例子,网易邮箱简约邮里,收件箱列表使用了数据预加载,首页加载完毕后会加载后...
最近在写一些东西需要获取任意线程调用栈,然后看了现有的一些开源框架,写的比较复杂而且对Swift的支持不是很好,所以写了RCBacktrace。 ARM几种通用寄存器 ARM...
app启动速度通常关乎用户对app的总体评价,在这方面也有很多优秀关于优化方面的文章,不过这类文章更多地着墨于具体的优化方案,对原理的介绍往往并不详实,所以对于想了解个中原理...
前言 NSTimer的特性(坑)上篇文章 提到过,基于这些特性(坑),用GCD写的定时器似乎更好用? 正文 先看API 接口基本与NSTimer相同,简单说下特性(坑):1....