首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS编译和启动
订阅
大王叫我来巡小山
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
iOS 启动优化 + 监控实践
距离上次启动优化(启动任务分级)相隔差不多2年时间了,虽然一直保持在之前的启动速度,但是每个版本排查启动增量会耗费不少时间,想做一个自动化的启动监控流程来降低这方面的时间成本,在启动监控开发中又发现部分启动可优化,于是就顺便把启动也优化了一下。 1、启动优化:在iPhone8P…
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…
iOS 如何优化 App 的启动耗时
iOS的App启动时长大概可以这样计算:t(App总启动时间)=t1(main调用之前的加载时间)+t2(main调用之后的加载时间)t1=系统dylib(动态链接库)和自身App可执行文件的加载t2
iOS系统内核加载【进阶之路一】
前言针对一个工作几年以上的iOS,如果仅仅停留在业务页面能力,其实并没有增值!接下来的一个月左右本人将主要讲述App启动方面的底层知识,保证通过这一两个月的学习和关注,一定让你对App启动有一个更深的
这样看二进制重排就懂了【进阶之路四】
前序App启动及框架底层的研究,会以下面一个逻辑分为5篇博客进行讲解:App系统内核加载【进阶之路一】LLVM+Clang+编译器+链接器--保值【进阶之路二】App启动优化思路【进阶之路三】这样看二
分析可执行文件mach-o
Mach-O 是针对不同运行时可执行文件的文件类型。在Windows上.exe(Portable Executable )是可直接执行的文件扩展名,而在Linux(以及很多版本的Unix)系统上ELF (Executable and Linking Format)是可直接执行的…
抖音品质建设 - iOS启动优化《原理篇》
启动是 App 给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实践。 本文从基础知识出发,先回顾一些核心概念,为后续章节做铺垫;接下来介绍 IPA 构建…
iOS进阶之路 (八)dyld加载流程
1. 编译过程 链接(Linking):将源文件中用到的库函数与汇编生成的目标文件.o合并生成可执行文件。链接器将不同的目标文件链接起来,因为不同的目标文件之间可能有相互引用的变量或调用的函数,如我们经常调用Foundation框架和UIKit 框架中的方法和变量,但是这些框架…
iOS程序员的自我修养-前言(零)
我们iOS开发者,大部分都是做业务上的开发。平时可能接触到编译链接方面的知识很少,但是我觉得编译链接对一个普通程序员来说,也非常重要。 比如平时用Xcode build过程有什么错误,我们可以选择站在原理层面去分析哪里出现问题了,而不是靠不停debug来解决;再比如fishho…
iOS底层学习 - 从编译到启动的奇幻旅程(三)
根据字面意思我们可以得出,这个方法是读取影响运行时的环境变量,可以使用 export OBJC_HELP=1 来打印环境变量,从而进行一些调试,可以再Xcode中进行设置,从而达到想要的效果打印。相关可以参考OBJC_HELP OBJC_PRINT_LOAD_METHODS这个…