上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 103 下一页
摘要: 1. 前言 从 WebView 开始加载一条请求,到页面完整呈现这一过程发生了什么?无论是做 WebView 性能优化还是异常问题监控与排查,我们都离不开对这一问题的思考与探索。 在本篇文章中,我们将在上一篇《深入理解 WKWebView(入门篇)—— WebKit 源码调试与分析》的基础上,结合 阅读全文
posted @ 2022-03-07 15:56 zzfx 阅读(1132) 评论(0) 推荐(0)
摘要: class_addMethod will add an override of a superclass's implementation, but will not replace an existing implementation in this class. To change an exi 阅读全文
posted @ 2022-02-17 19:52 zzfx 阅读(70) 评论(0) 推荐(0)
摘要: 本文最初成稿于 2016 年 5 月初,后于 2020 年 2 月中进行了较大的更新和修订,后续会持续保持更新。 什么是动态追踪 动态追踪的优点 DTrace 与 SystemTap SystemTap 在生产上的应用 火焰图 方法论 知识就是力量 开源与调试符号 Linux 内核的支持 硬件追踪 阅读全文
posted @ 2022-01-27 20:40 zzfx 阅读(1082) 评论(0) 推荐(1)
摘要: 前言 在iOS日常开发中,对某些方法进行hook是很常见的操作。最常见的是使用Category在+load中进行方法swizzle,它是针对类的,会改变这个类所有实例的行为。但是有时候我们只想针对单个实例进行hook,这种方法就显得无力了。而Aspects框架可以搞定这个问题。 它的原理是通过Run 阅读全文
posted @ 2021-11-29 10:37 zzfx 阅读(594) 评论(0) 推荐(0)
摘要: 容器提供了与平台隔离的运行环境支持 容器化是指将软件代码和所需的所有组件(例如库、框架和其他依赖项)打包在一起,让它们隔离在自己的“容器”中。 这样,容器内的软件或应用就可以在任何环境和任何基础架构上一致地移动和运行,不受该环境或基础架构的操作系统影响。容器就像是一个气泡(或者是应用周围的计算环境) 阅读全文
posted @ 2021-11-17 19:14 zzfx 阅读(1588) 评论(0) 推荐(0)
摘要: 0 引言 时代演进,技术也随之发展。到今天,APP已然成为绝大多数互联网企业用来获取用户的核心渠道。与此同时,伴随着业务量的增长,愈来愈大、愈来愈多的APP也在不断地、持续地挑战着每一个移动端研发人员的知识深度,而我们的移动端技术人员也在这个不断接受挑战的过程中,成就了今天的移动互联网时代。饿了么移 阅读全文
posted @ 2021-11-16 20:03 zzfx 阅读(621) 评论(0) 推荐(0)
摘要: 文章目录 @[TOC] 1.引入 1.1 标准I/O 1.2直接I/O 1.3 mmap1.引入让我们先看一下Linux系统下IO结构模型 从图中可以看到标准 I/O、mmap、直接 I/O 这三种 I/O 方式在流程上的差异1.1 标准I/O 大多数文件系统的默认I/O操作都是标准I/O。在Lin 阅读全文
posted @ 2021-11-10 11:10 zzfx 阅读(1185) 评论(0) 推荐(0)
摘要: 在Git操作中,有一些典型的情况需要考虑,比如回滚Merge操作。这里记录下遇到需要这种操作的时候怎么处理 中断合并 在合并的时候,出现了冲突,但是还没有解决冲突,没有进行提交的时候,放弃合并。 方案: git merge --abort 方案2 git reset命令是使HEAD节点指向曾经提交的 阅读全文
posted @ 2021-10-29 14:20 zzfx 阅读(552) 评论(0) 推荐(0)
摘要: 建模与外化:操纵抽象的能力 联想关联抽象的能力 阅读全文
posted @ 2021-10-29 11:54 zzfx 阅读(42) 评论(0) 推荐(0)
摘要: https://blog.csdn.net/chaoyuan899/article/details/107183847 // Replaced by CF (throws an NSException) + (void)doesNotRecognizeSelector:(SEL)sel { _obj 阅读全文
posted @ 2021-10-28 21:54 zzfx 阅读(132) 评论(0) 推荐(0)
摘要: 一、release与debug模式 Debug和Release仅仅是编译选项的不同,那么为什么要区分Debug和Release版本呢? Debug和Release,主要是针对其面向的目标不同的而进行区分的。 Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任 阅读全文
posted @ 2021-10-21 13:13 zzfx 阅读(1376) 评论(0) 推荐(0)
摘要: 一、大项目的困境 第一版发布后,拿给客户使用,反响不错。客户要求的新功能,能够很快开发出来,Bug 修补也很快,因为早期客户往往可以与开发人员直接沟通,快速反馈。 公司于是决定投入更多人员,开发这个项目。团队慢慢变大了,软件开始变得复杂,开发速度逐渐变慢了,2.0 版花费的时间比预期要长一点。Bug 阅读全文
posted @ 2021-10-19 14:40 zzfx 阅读(143) 评论(0) 推荐(0)
摘要: 头文件的作用—声明符号、类型、函数而不是定义变量 阅读全文
posted @ 2021-10-15 19:53 zzfx 阅读(186) 评论(0) 推荐(0)
摘要: 解耦与总线 定义模块间通用的通信协议 通信连接建立机制:注册与路由 对象、接口、解耦、复用 依赖管理、耦合管理 解耦技术 间接依赖 依赖定义、依赖实现 依赖范式:是否有多种具体依赖关系都有相同形式 依赖实现:建立依赖、使用依赖 控制管理 面向对象:封装、组合、复用 面向接口:依赖管理 注册、发现、通 阅读全文
posted @ 2021-10-14 20:46 zzfx 阅读(336) 评论(0) 推荐(0)
摘要: 我有一个看起来像这样的断点 1 -[UITableViewCell setSelected:] 并且可以正常工作,但是我无法弄清楚如何获得传入的值。 我尝试了-[UITableViewCell setSelected:(BOOL)what]和-[UITableViewCell setSelected 阅读全文
posted @ 2021-09-29 21:47 zzfx 阅读(403) 评论(0) 推荐(0)
摘要: node : debug console (调试控制台)可以选择三种输出类型 : 1)All Output --> 全部输出(显示Debugger Output 和 Target Output 输出信息) 2)Debugger Output --> 调试输出,当你使用Debugger command 阅读全文
posted @ 2021-09-17 20:28 zzfx 阅读(1029) 评论(0) 推荐(0)
摘要: 原文链接:http://nshipster.com/inter-process-communication/ 总起 OS X是MacOS与NeXTSTEP的结合。OC是Smalltalk类面向对象编程与C的结合。iCloud则是苹果移动服务与云平台的结合。 上述都是一些亮点,但是不得不说苹果技术中的 阅读全文
posted @ 2021-09-17 12:17 zzfx 阅读(1361) 评论(1) 推荐(0)
摘要: MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今在微信上使用,其性能和稳定性经过了时间的验证。近期也已移植到 Android / macOS / Win32 / POSIX 平台,一并开源。 阅读全文
posted @ 2021-09-08 15:33 zzfx 阅读(534) 评论(0) 推荐(0)
摘要: 最大并发数 URLSessionConfiguration里有个httpMaximumConnectionsPerHost的属性,它的作用是控制同一个host同时连接的数量,苹果的文档显示,默认在macOS里是6,在iOS里是4。单从字面上来看它的效果应该是:如果设置为N,则同一个host最多有N个 阅读全文
posted @ 2021-08-26 23:11 zzfx 阅读(1209) 评论(0) 推荐(0)
摘要: Understanding Temporal Metrics Figure 1 shows the sequence of events for a URL session task, which correspond to the temporal metrics captured by NSUR 阅读全文
posted @ 2021-08-25 19:43 zzfx 阅读(80) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 103 下一页