APP启动分为不同的启动方式,我们最常用到的就是冷启动和热启动,本文主要介绍冷启动和热启动方式下如何实现app秒开的效果,以及如何实现实时检测、如何预防性能问题的发生,如果你对此感兴趣,就请接着看下去吧!

那么,先简单介绍冷启动和热启动。

冷启动:指 app 被后台杀死后,在这个状态打开 app,这种启动方式叫做冷启动。

热启动:指 app 没有被后台杀死,仍然在后台运行,通常我们再次去打开这个 app,这种启动方式叫热启动。

 冷启动秒开

那么,何为闪屏页呢?这个大家一般都知道,我们 app 也非常常见的。比如微信、QQ 等等应用,你将这些应用清除掉它们的后台运行的情况下,再去打开。这时候会出现一个闪屏页,类似我们的背景页。这个页面停留的时间非常短,一般不会超过 3秒,太久了就会使用户感觉这个 app 好卡的样子。

为什么要替换掉白屏页?这就是提升我们的用户体验了,可以发现我们白屏页显得非常的难看,而且用户可能会误以为这是app卡的结果造成的。如果我们换成了闪屏页,不仅可以为app添加属于自己的独特风格,也可以造成一种app秒开的假象。用户发现app已经被打开了,为何迟迟不进去,那可能是觉得手机不够给力。

实现步骤:

一、设置 style 主题

首先,我们为闪屏页设置它的style,通常它是隐藏标题栏、隐藏状态栏、全屏的,然后用一张突显app主题的背景图片来填充整个屏幕。那么,我们这样设置它:

@drawable/bg_splash_theme_leader

true

true

android:gravity="fill"

android:src="@drawable/splash" />

二、绑定到 Activity 上

然后,将这一主题运用到我们需要的activity上,比如我的SplashActivity:

android:name=".SplashActivity"

android:launchMode="singleTask"

android:screenOrientation="portrait"

android:theme="@style/SplashTheme">

最后,运行项目,你就会体会到什么叫做冷启动秒开应用了。我们先前的白屏页面,最终变成了一张自己的图片,即显得美观,又达到了秒开的目的,真是一举两得!

分析

注意:我们的SplashActivity不做任何初始化和设置布局,在onCreate中直接开启我们的MainActivity就行了。否则,在SplashActivity中停留过多的时间,就会出现卡在闪屏页许久才进入,我们的秒开也就变了味。

热启动秒开

再说说我们的热启动实现方式,通常我们按下back键时,activity的生命周期会执行onStop,onDestory ——> onCreate。造成我们试图被销毁了又得重新创建。但是,我们按下home键却是不一样的,activity的生命周期会执行onStop ——>onReStart,所以热启动就是以back键替换成了home键,其实app是被置到了后台,所以当你再次点击打开app时,它会马上的启动。

但是,这类app通常是用于后台处理比较重要的,比如QQ后台接收信息,音乐播放器后台播放,通常都是屏蔽了back键,或者会有一个back键防误触操作。当然,这就得我们自己的app的自身需求了,通常做法就是将back键改为home键操作。

启动性能检测

如何检测启动过程中的性能问题呢?这里使用友盟+u-apm性能检测工具,U-APM 启动分析功能⽀持启动趋势分析、慢启动分析、启动崩溃分析。可以帮助开发人员检测和分析启动过程中的问题,同时获取到问题代码的位置,可谓是解放了开发人员和测试人员的双手。

以上是这篇文章的全部内容,在性能优化中还是比较推荐使用性能检测辅助工具,借助工具能更好查找性能问题的根源,从而彻底的实现优化。

APP冷启动和热启动秒开及启动性能检测相关推荐

  1. 冷启动和热启动的区别android,app冷启动和热启动的区别(详解两者定义及区别)...

    介绍一下 app 冷启动和热启动方式来实现 app 秒开的效果.那么,先来看看什么叫冷启动和热启动. 冷启动:指 app 被后台杀死后,在这个状态打开 app,这种启动方式叫做冷启动. 热启动:指 a ...

  2. android app 热启动,app冷启动和热启动的区别(详解两者定义及区别)

    介绍一下 app 冷启动和热启动方式来实现 app 秒开的效果.那么,先来看看什么叫冷启动和热启动. 冷启动:指 app 被后台杀死后,在这个状态打开 app,这种启动方式叫做冷启动. 热启动:指 a ...

  3. 冷启动、热启动、温启动

    冷启动.热启动.温启动 1. 冷启动 启动app时,后台没有app的进程,或者进程被killed,这叫冷启动.冷启动因为系统会重新创建一个新的进程分配给它,所以会先创建和初始化Application类 ...

  4. Android 查看App冷启动时间/热启动时间/页面打开时间

    Android 查看App冷启动时间/热启动时间/页面打开时间 冷启动时间 热启动时间 页面打开时间 通过adb查看 adb shell am start -W packageName/Activit ...

  5. 北斗/GPS定位模块冷启动、热启动、温启动有什么区别?

    ** 1.冷启动** 什么条件下GPS冷启动?当设备关机时间超过4小时,或者设备光机状态下移动超过200公里,因为天空的GPS卫星星历参数发生了变化,开机时设备需要重新下载星历. 2.热启动 什么条件 ...

  6. App性能优化(一)—— 启动优化,冷启动,热启动,温启动

    标签 : Android架构师之路 APP启动方式 App启动方式分三种:冷启动(cold start).热启动(hot start).温启动(warm start) ▲ 冷启动 系统不存在App进程 ...

  7. APP启动方式分析——冷启动、热启动、温启动

    APP启动分析 Cold start At the beginning of a cold start, the system has three tasks. These tasks are: 1. ...

  8. App三种启动场景:冷启动、热启动、温启动

    1.冷启动(App进程创建) 系统不存在App进程(APP首次启动或APP被完全杀死)时启动APP 此时,APP的启动将经历两个阶段: 第一阶段: 1.加载并启动app; 2.app启动后,第一时间为 ...

  9. app冷启动与热启动原理,及启动优化

    -- app热启动   app热启动: 当应用已经被打开, 但是被按下返回键.Home键等按键时回到桌面或者是其他程序的时候,再重新打开该app时, 这个方式叫做热启动(后台已经存在该应用进程).热启 ...

最新文章

  1. 数据结构与算法--代码完整性案例分析
  2. 旋转根组件 Learn Unreal Engine (with C++)
  3. 对计算机的分析,对计算机思维的逻辑分析(范文).doc
  4. openresty json mysql_openresty 前端开发入门五之Mysql篇
  5. 解决Cell重用问题
  6. 【编译原理】什么是上下文无关文法、上下文有关文法?
  7. 加速器在模拟器中的尝试
  8. 微信支付接入-弹出支付框输入密码后一直在转圈,20s后提示:支付失败,请稍后再试
  9. 我是如何在一家独角兽公司做业务中台、数据中台的?8页ppt详解中台建设实践!...
  10. 【强化学习】强化学习的基本概念与代码实现
  11. 银行大数据风控管理针对哪些应用场景?
  12. 关于某normal大学数据库登录的一个尝试
  13. 数千个数据库、遍布全国的物理机,京东物流全量上云实录 | 卓越技术团队访谈录...
  14. Windows 10操作系统配置L2TP方法
  15. Git在windows下的安装和使用GIT@OSC
  16. 智能生活 App SDK 如何实现设备控制
  17. 转义符——反斜杠(\)
  18. 股票自选股程序编辑简介
  19. 用ollydbg手脱ArmadilloV3.60加壳的DLL
  20. 【转】程序员最喜欢的五大神器

热门文章

  1. JS 数组转对象,JS 对象转数组
  2. Android 常用adb指令记录总结
  3. bsd协议开源框架tcp服务器,搬运RT Thread中BSD Socket实现UDP及TCP例子
  4. BugKu-CTF(杂项misc)--图片里的中文
  5. 2021-07-03剑指offer55-II平衡二叉树
  6. 空间环境和地形特征的模拟
  7. 使用camtasia studio制作视频心得
  8. element-ui el-button点击后不失焦
  9. 房地产企业(集团)网站建设方案
  10. “我只买黄金现货不买黄金股票,那是纸上黄金”