美文网首页iOS 开发优化点
浅谈IOSAPP冷启动优化

浅谈IOSAPP冷启动优化

作者: 九月oc | 来源:发表于2020-11-25 10:45 被阅读0次

随着IOS第一批开发者的离去, IOS开发这个行业变得越来越精致,技术越来越细腻。

那么今天就来谈一下WWDC在2016年中提出的冷启动优化技术

什么是冷启动呢? 就是指APP不在系统进程中第一次启动的过程。

这个过程的时间我们默认为 APP开始启动到执行APPdelegate文件中的方法

WWDC 2016 中首次出现了 App 启动优化的话题,其中提到:

App 启动最佳速度是400ms以内,因为从点击 App 图标启动,然后 Launch Screen 出现再消失的时间就是400ms;

App 启动最慢不得大于20s,否则进程会被系统杀死;(启动时间最好以 App 所支持的最低配置设备为准。)

整个冷启动的过程从点击APP开始到执行didFinishLaunchingWithOptions方法为止,并且一般冷启动我们以main函数为基准

分为main函数之前和mian函数之后

在IOS的(Edit Scheme → Run → Arguments → Environment Variables → +)配置下面两个参数为1之后可以查看详细的IOS启动耗时

DYLD_PRINT_STATISTICS_DETAILS 1

DYLD_PRINT_STATISTICS 1

在pre main阶段 系统会加载App可执行文件到内存,然后执行一系列的加载链接操作,最后到App的main函数 从main函数开始到Appdelegate的didFinishLaunchingWithOptions方法 

这个阶段会绘制第一个界面, 并且完成渲染。

我们可以优化的

在didFinishLaunchingWithOptions方法里我们一般做一下逻辑:

初始化第三方sdk

配置App运行需要的环境 avoidCrash bugly 网络监听等等 文件读取使用多线程进行操作

自己的一些工具类的初始化 等等

关于耗时方法的检测 我们会用到一个叫做Instrument的工具来检测

检测教程我已经在一个教程里写过了 同时也可以参考一位博主的文章 写的很清楚大家可以看一下

我们使用Instrument的目的主要是检测出那些第三方库在加载的时候耗时比较多还有启动阶段哪些代码(类的方法)耗时比较多 进行优化或者位移。

同时分流一些主线程的任务到分线程中,保证主线程畅通。

如果有启动页的广告那么更要充分利用广告加载的时间。

总之就是一句话 尽量减少APP在第一次启动的过程中在主界面渲染阶段在主线程的耗时操作。

---------------------------------------------------------------------------------------

APP启动前的加载流程

加载可执行文件。(App里的所有.o文件)

加载动态链接库,进行rebase指针调整和bind符号绑定。

ObjC的runtime初始化。

包括:ObjC相关Class的注册、category注册、selector唯一性检查等。

初始化。

包括:执行+load()方法、用attribute((constructor))修饰的函数的调用、创建C++静态全局变量等。

相关文章

  • 浅谈IOSAPP冷启动优化

    随着IOS第一批开发者的离去, IOS开发这个行业变得越来越精致,技术越来越细腻。 那么今天就来谈一下WWDC在2...

  • 如何实现 iOS App 的冷启动优化

    如何实现 iOS App 的冷启动优化如何实现 iOS App 的冷启动优化

  • 如何实现 iOS App 的冷启动优化

    如何实现 iOS App 的冷启动优化如何实现 iOS App 的冷启动优化

  • 性能优化 - 启动时间

    应用的启动分为:冷启动,暖启动和热启动。其中冷启动是我们优化的重点,优化冷启动可能会同时优化暖启动和热启动。 冷启...

  • APP性能优化

    一、APP启动性能优化。 APP启动主要分冷启动和热启动,主要优化冷启动。 1.尽量减少didFinishLauc...

  • 冷启动和热启动

    一,什么是冷启动和热启动 二,冷启动流程 三,怎么对冷启动进行优化 一,什么是冷启动和热启动 定义:冷启动就是启动...

  • 启动优化的原理以及操作

    首先我们要知道,启动是分为冷启动和热启动的。启动优化主要就是优化冷启动的时间。冷启动又可以分为两个部分:pre_m...

  • iOSAPP性能优化

    简述总结:界面优化(Cpu5处——Gpu4处)——网络优化(耗电)——定位优化——APP冷启动优化——APP内存优...

  • iOSAPP优化-细节

    这里盗用一张图[手动狗头],其实我觉得我们做程序开发者一样也要有一种匠人精神,把产品作为自己的一件工艺品,不光要实...

  • 性能优化

    一、启动优化 Activity启动形式分为三种类型:热启动、冷启动、温启动。重点在冷启动。 假优化:欺骗用户,去掉...

网友评论

    本文标题:浅谈IOSAPP冷启动优化

    本文链接:https://www.haomeiwen.com/subject/gyaiiktx.html