zoukankan      html  css  js  c++  java
  • Tips——App启动速度的优化与监控

    一、App的启动模式

    • 冷启动:App点击启动前,它的进程不在系统里,需要系统新创建一个进程分配给它启动的情况。这是一次完整的启动过程。
    • 热启动:App在冷启动后用户将App退后台,在App的进程还在系统里的情况下,用户重新启动进入App的过程,这个过程做的事情非常少。

    二、App冷启动的优化

    用户感知启动慢,应该都发生在主线程上。其原因有很多,比如:在主线程上执行大文件读写操作、在渲染周期中执行了大量计算等。

    App的启动主要包括三个阶段:

    1. main() 函数执行前(加载可执行文件、加载动态链接库...);
    2. main() 函数执行后(首屏初始化所需配置文件的读写操作、首屏列表大数据的读取、首屏渲染的大量计算...);
    3. 首屏渲染完成后(非首屏其他业务服务模块的初始化、监听的注册、配置文件的读取等)。

    三、两种级别的启动优化

    • 功能级别的启动优化:main() 函数开始执行后到首屏渲染完成前只处理首屏相关的业务,其他非首屏业务的初始化、监听注册、配置文件读取等都放到首屏渲染完成后去做。
    • 方法级别的启动优化:进一步检查首屏渲染完成前主线程上的耗时方法,将没必要的耗时方法滞后或异步执行。

    四、监控App启动速度

    定时抓取主线程上的方法调用堆栈,计算一段时间里各个方法的耗时。

    (本文内容来自戴铭专栏)

  • 相关阅读:
    Binary Tree Zigzag Level Order Traversal
    Binary Tree Level Order Traversal
    Symmetric Tree
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Triangle
    Populating Next Right Pointers in Each Node II
    Pascal's Triangle II
    Pascal's Triangle
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/bbcfive/p/10569362.html
Copyright © 2011-2022 走看看