android启动流程之谷歌翻译

本文详细探讨了Android应用的启动过程,包括冷启动、热启动和温启动的原理,强调了快速启动对于用户体验的重要性。文章阐述了启动过程的关键步骤,如Application对象创建、Activity的创建,以及如何分析和诊断启动耗时,提供了识别和解决启动时间问题的策略,旨在帮助开发者优化应用性能。
摘要由CSDN通过智能技术生成

先贴上谷歌官方文档地址,英文好的朋友可以直接去看:https://developer.android.com/topic/performance/vitals/launch-time

应用起动时间

用户希望应用程序能够快速响应并快速加载。 启动时间较慢的应用程序无法达到此预期,并且可能会令用户失望。 这种糟糕的体验可能会导致用户在Play商店中对您的应用评分不佳,甚至完全放弃您的应用。

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

理解应用的启动原理(官方的标题是:Understand app-start internals,internals单词的翻译是内部,个人理解整个标题应该翻译成:理解应用的

启动原理)

应用程序启动可以在三种状态之一中进行,每种状态都会影响应用程序对用户可见所需的时间:冷启动,热启动或热启动。 在冷启动时,您的应用程序从头开始。 在其他状态下,系统需要将您的正在运行的应用程序从后台运行到前台。 我们建议您始终根据冷启动的假设进行优化。 这样做也可以改善热启动和热启动的性能。

为了优化您的应用程序以实现快速启动,了解系统和应用程序级别发生的情况以及它们如何在这些状态中进行交互非常有用。

冷启动

冷启动是指应用程序从头开始:系统的进程在此开始之前没有创建应用程序的进程。 冷启动发生在诸如自设备启动以来首次启动应用程序或自系统终止应用程序以来。 这种类型的启动在最小化启动时间方面提出了最大的挑战,因为系统和应用程序比其他启动状态有更多的工作要做。

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

  1. 加载并启动应用程序。
  2. 启动后立即显示应用程序的空白启动窗口。
  3. 创建应用程序进程。

一旦系统创建了应用进程,应用程序就会负责下一阶段的流程

  1. 创建应用程序对象。
  2. 启动主线程。
  3. 创建要启动的activcity。
  4. 通过LayoutInflater加载View布局。
  5. 对view进行测量布局。
  6. 对View进行第一次绘制。

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

图1显示了系统和应用程序如何处理彼此之间的工作。

图1:冷应用程序启动的重要部分的直观表示

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

Application对象的创建(Application creation)

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

如果您在自己的应用程序中重载了Application.onCreate&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值