背景 58APP现阶段所有的业务都融合在一个可执行文件中。其弊端在于所有的类都在启动时同时加载,如某SDK在启动阶段hook大量的系统方法,其中一个load方法的耗时就已经达...
背景 58APP现阶段所有的业务都融合在一个可执行文件中。其弊端在于所有的类都在启动时同时加载,如某SDK在启动阶段hook大量的系统方法,其中一个load方法的耗时就已经达...
Link Map File初识 我们编写的源码需要经过编译、链接,最终生成一个可执行文件。在编译阶段,每个类会生成对应的.o文件(目标文件)。在链接阶段,会把.o文件和动态库...
1. LinkMap解析 导读IOS在做包大小优化的时候,需要分析包大小组成,然后通过包大小组成来有针对的做优化。其中最主要的工具就是linkmap文件的解析,下面文章讲简单...
2017年 3月7日,我入职58当天拍的工位照片,当时是工位还在A1楼5层。 17年一个普普通通的夜晚,9点之后打车回家,初来乍到不敢打快车,只敢拼车,到家已经快11点。 刚...
本文首发于我的个人博客:「程序员充电站」[https://itcharge.cn]文章链接:「传送门」[https://itcharge.cn/ios-complete-le...
简介 在LLVM的官方文档中对Swift的编译器设计描述如下: Swift编程语言是在LLVM上构建,并且使用LLVM IR和LLVM的后端去生成代码。但是Swift编译器...
自己实现kvo之前,需要知道iOS系统对kvo的实现。 系统实现kvo的原理 这依赖了OC强大的runtime特性。在我们对某个Student的实例对象的name属性addO...
DNS解析本质上是localDNS的解析,说白了,你给它一个域名,它返回给你一个IPlist DNS(Domain Name System)即域名解析系统,这个东西说对于开发...
1.简介 LRU (英文:Least Recently Used), 意为最近最少使用,这个算法的精髓在于如果一块数据最近被访问,那么它将来被访问的几率也很高,根据数据的历...