美文网首页
关于App启动速度优化

关于App启动速度优化

作者: Harry_upup | 来源:发表于2019-11-01 16:30 被阅读0次

    冷启动、热启动

    冷启动:App启动前,它的进程不在系统里,系统新创建一个进程分配给它启动;
    热启动:App冷启动后,将App退至后台,App进程还在系统里的情况下,用户重新进入App的过程;

    App启动干了什么?如何优化?

    • main()函数执行前
      -加载可执行文件(.o);
      -加载动态链接库,bind符号绑定等;
      -运行时初始化,Objc相关类的注册,分类的注册;
      -执行+load()方法,attribute修饰的函数的调用,创建C++静态全局变量;
      优化:--减少动态库加载,如果使用动态库较多,可以将多个动态库进行合并;
      --减少启动后不会调用的方法;
      --+load()方法里面的内容放到首屏渲染完成后执行,或使用+initialize()代替;
      --控制C++全局变量的数量;
    • main()函数执行后(即main函数开始到appdelegate方法didfinish执行)
      -首屏初始化所需配置文件和读写操作;
      -列表数据读取;
      -首屏渲染计算,基本是渲染首屏的操作;
      优化:区分哪些是app启动后必须初始化的功能,哪些是对应功能开始使用时才需要初始化的,将这些初始化放到合适的阶段调用;
    • 首屏渲染完成后
      渲染完成后,就可以看到首页页面,一般就是其他业务基础功能的初始化,监听注册等; 这个阶段的优化一般就是整体的优化,包括功能、方法实现等;

    今天就到这~

    相关文章

      网友评论

          本文标题:关于App启动速度优化

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