美文网首页
APP冷启动优化

APP冷启动优化

作者: 落魄的iOS程序员 | 来源:发表于2021-03-22 13:49 被阅读0次

一、APP启动分为冷启动和热启动

        1、冷启动 - APP从0-1的启动

        2、热启动 - APP在后再运行启动

二、APP冷启动三大阶段

        1、dyld

               dyld是APP的动态链接器,可用来装载Mach-o文件,那么启动APP的时候dyld做了那些事呢?首先装载APP可执行文件,递归加载所有依赖的动态库,然后通知Runtime执行下一步处理

        2、Runtime

              调用map_images进行可执行文件内容的解析和处理,在load_images中调用call_load_methods来调用所有的class、category的+load方法,然后注册objc,初始化对象,调用c++静态初始化和attribute修饰函数

        3、main

            APP启动由dyld主导,将可执行文件加载到内存,同时加载所有动态依赖库,由Runtime加载成为objc定义的结构,初始化结束之后dyld才会调用main函数,然后进入AppDelegate的application: didFinishLaunchingWithOptions:方法

三、APP启动优化

        1、dyld阶段:减少动态库,合并一下动态库,减少objc类、分类的数量、减少selector数量(如定期清理不必要的库、类、分类已经不使用的方法),减少c++虚函数

        2、Runtime阶段:用+initialize和dispatch_once取代所有的_attribute_、c++静态构造器、objc的+load

        3、main阶段:在不影响业务和用户体验的情况下将延时操作放在application: didFinishLaunchingWithOptions:方法之后

四、共享缓存机制

        1、每个程序依赖的动态库都要通过dyld一个一个加载到内存中,大部分的系统库几乎每个程序都会用到,每个程序运行都去加载一次,这样就会很慢,如此就引入了共享缓存机制

        2、将所有默认的动态链接库和并成一个大的缓存文件,按不同文件分别保存

相关文章

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

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

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

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

  • APP性能优化

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

  • 性能优化 -- 启动优化

    启动优化 app启动分为:冷启动;热启动,温启动三种冷启动: 耗时最多流程:冷启动经过的流程点击app --> ...

  • App启动优化(三)启动优化方案

    系列文章 App启动优化(一)冷启动和热启动 App启动优化(二)启动时间测量 App启动优化(三)启动优化方案 ...

  • 面试题:APP启动优化

    一、APP启动分为冷启动和热启动 二、APP冷启动三大阶段 三、APP启动优化 四、共享缓存机制

  • iOSAPP性能优化

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

  • Android项目优化-冷启动优化

    APP启动优化主要解决app启动缓慢,白屏半天的问题。 app启动方式主要为:冷启动和热启动 冷启动:当进程关掉,...

  • iOS 性能优化三

    主要讲解APP冷启动的优化 iOS 性能优化一iOS 性能优化二iOS 性能优化三 1. APP 启动的分类 冷...

  • app性能优化

    app启动 app启动分为两种:冷启动和热启动(冷启动就是App被重新打开,热启动就是从后台到前台,启动优化主要是...

网友评论

      本文标题:APP冷启动优化

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