性能优化之App 启动时间

和你一起终身学习,这里是程序员 Android

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

1.应用启动时间概述

1. 应用启动时间概述

用户期望应用程序能够快速响应并快速加载。启动时间慢的应用程序不能满足此期望,并且可能会使用户感到失望。这种糟糕的体验可能会导致用户在Play商店中对您的应用进行差评,甚至完全放弃您的应用。

本文档提供了可帮助您优化应用程序启动时间的信息。首先说明启动过程的内部。接下来,讨论如何分析启动性能。最后,它描述了一些常见的启动时问题,并提供了有关如何解决这些问题的提示。

2. 了解应用启动内部机制

应用程序启动可以分以下三种状态,每种状态都会影响您的应用程序对用户可见的时间:冷启动,热启动或热启动。

冷启动:您的应用将从头开始。在其他状态下,系统需要将正在运行的应用程序从后台移到前台。我们建议您始终基于冷启动的假设进行优化。这样做也可以改善热启动和热启动的性能。

为了优化您的应用程序以使其快速启动,了解每种状态下系统和应用程序级发生的情况以及它们之间的交互方式非常有用。

3. 冷启动

冷启动是指应用程序从头开始,比如设备重启,或者app 进程被杀掉,首次启动应用程序时为冷启动。这种类型的启动在优化启动时间方面提出了最大的挑战,因为与其他启动状态相比,系统和应用程序要做的工作更多。

在冷启动的开始,系统具有三个任务。这些任务是:

  1. 加载并启动应用程序。

  2. 启动后立即为应用显示空白的启动窗口。

  3. 创建应用程序 流程。

一旦系统创建了应用程序流程,该应用程序流程将负责以下阶段:

  • 1.创建应用程序对象。

  • 2.启动主线程。

  • 3.创建主Activity。

  • 4.填充视图。

  • 5.显示布局。

  • 6.执行初始化绘制。

一旦应用程序进程完成了第一次绘制,系统进程就会交换出当前显示的背景窗口,将其替换为主要Activity。此时,用户可以开始使用该应用程序。

图1显示了系统和应用程序之间如何相互切换工作。

640?wx_fmt=other

图1.可视化表示冷应用程序启动的重要部分

在创建应用程序和创建Activity 期间可能会出现性能问题。

4. app 创建

启动应用程序时,空白的启动窗口会保留在屏幕上,直到系统首次完成绘制应用程序为止。此时,系统进程会换出您应用程序的启动窗口,从而允许用户开始与应用程序进行交互。

如果您已在应用程序的Application.onCreate() 方法中重载,则系统会onCreate()在您的应用程序对象上调用此方法。之后,该应用程序会运行在主线程(也称为UI线程),并通过创建MainActivity来执行其他任务。

从这一点开始,系统和应用程序级别的流程将根据 应用程序生命周期阶段进行。

5.创建Activity

应用程序流程创建Activity后,该Activity将执行以下操作:

  1. 初始化值。

  2. 调用构造函数。

  3. 调用 Activity.onCreate() 适合于活动当前生命周期状态的回调方法,例如 。

通常,该 onCreate() 方法对加载时间的影响最大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值