zoukankan      html  css  js  c++  java
  • TA(App总启动时间) = T1(main()之前的加载时间 进程构建时间) + T2(main()之后的加载时间 运行环境准备时间) +T3(首页数据加载+闪屏页数据同步) 应用时间

    https://juejin.cn/post/6844903966329798669

    cpu 耗时,IO 耗时

    https://www.cnblogs.com/zyzmlc/p/14080984.html

    2.2 main函数后

    main函数阶段的优化建议主要有以下几点:

    在main函数之后的didFinishLaunching方法中,主要是执行了各种业务,有很多并不是必须在这里立即执行的,这种业务我们可以采取延迟加载,防止影响启动时间。

    1:业务层面:

    • 减少启动初始化的流程,能懒加载的懒加载,能延迟的延迟,能放后台初始化的放后台,尽量不要占用主线程的启动时间

    • 优化代码逻辑,去除非必须的代码逻辑,减少每个流程的消耗时间

    • 启动阶段能使用多线程来初始化的,就使用多线程

    • 尽量使用纯代码来进行UI框架的搭建,尤其是主UI框架,例如UITabBarController。尽量避免使用Xib或者SB,相比纯代码而言,这种更耗时

    • 删除废弃类、方法

    2:技术层面

      • 1.二进制重排
        (重排的是编译阶段文件顺序减少启动时刻,硬盘内存作次数
    ------------------越是喧嚣的世界,越需要宁静的思考------------------ 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。
  • 相关阅读:
    mysql 函数 存储过程 事件(event) job 模板
    protobuf 无proto 解码 decode 语言 java python
    mitmproxy fiddler 抓包 填坑
    android adb 常用命令
    android机器人 模拟 踩坑过程
    RabbitMQ添加新用户并支持远程访问
    Windows下RabbitMQ安装及配置
    Java mybatis mysql 常用数据类型对应关系
    easyExcel 踩坑
    linux防火墙查看状态firewall、iptable
  • 原文地址:https://www.cnblogs.com/feng9exe/p/14737489.html
Copyright © 2011-2022 走看看