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

    一、App的启动模式

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

    二、App冷启动的优化

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

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

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

    三、两种级别的启动优化

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

    四、监控App启动速度

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

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

  • 相关阅读:
    【 一次性密码】TOTP
    动态令牌-(OTP,HOTP,TOTP)-基本原理
    动态口令
    Jmeter参数化 CSV Data Set Config界面说明
    Jmeter测试监控 Summary Report界面
    jmeter命令行参数
    jmeter场景设计
    jmeter事务控制器
    软件测试模型
    业务流程测试
  • 原文地址:https://www.cnblogs.com/bbcfive/p/10569362.html
Copyright © 2011-2022 走看看