APP启动

作者: DoBetter1 | 来源:发表于2020-02-24 00:07 被阅读0次
    1. 启动分为2种:冷启动和热启动。
    2. 启动的时间分为两部分:main函数执行之前(加载dyld,加载类文件,协议,分类,load方法等),main函数到应用启动完成。

    启动优化建议

    main函数之前
    减少动态库,合并一些动态库
    减少Objc类,分类的数量,减少Selector数量

    main函数值到应用启动完成
    耗时操作,不啊哟放在finishLaunching方法中

    动态库对启动事件的影响测试

    查看main函数启动之前使用时间:


    添加 DYLD_PRINT_STATISTICS

    重新运行项目打印如下:

    可以看到main函数之前每个部分所用的时间

    缩减ipa包工具:Link Map(可以看到所有文件缩减的情况)

    如果想检测哪些文件没用到可以使用:LSUnusedResources(用的人很多)

    异步渲染:最开始是FB提出来并且使用在了框架anycdisplaykit-texture,YYKit作者结合FB框架写出了异步渲染框架。(原理就是不在主线程渲染,而是在子线程渲染GPU和CPU处理,然后到主线程显示 )

    卡顿处理:复杂页面可以使用异步渲染,YYKit,封装一些公控件,打开FPS检测。

    网络优化 DNS,网络请求优化(重复请求,缓存,排队等)

    相关文章

      网友评论

          本文标题:APP启动

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