APP冷启动和热启动秒开及启动性能检测
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冷启动和热启动秒开及启动性能检测相关推荐
- 冷启动和热启动的区别android,app冷启动和热启动的区别(详解两者定义及区别)...
介绍一下 app 冷启动和热启动方式来实现 app 秒开的效果.那么,先来看看什么叫冷启动和热启动. 冷启动:指 app 被后台杀死后,在这个状态打开 app,这种启动方式叫做冷启动. 热启动:指 a ...
- android app 热启动,app冷启动和热启动的区别(详解两者定义及区别)
介绍一下 app 冷启动和热启动方式来实现 app 秒开的效果.那么,先来看看什么叫冷启动和热启动. 冷启动:指 app 被后台杀死后,在这个状态打开 app,这种启动方式叫做冷启动. 热启动:指 a ...
- 冷启动、热启动、温启动
冷启动.热启动.温启动 1. 冷启动 启动app时,后台没有app的进程,或者进程被killed,这叫冷启动.冷启动因为系统会重新创建一个新的进程分配给它,所以会先创建和初始化Application类 ...
- Android 查看App冷启动时间/热启动时间/页面打开时间
Android 查看App冷启动时间/热启动时间/页面打开时间 冷启动时间 热启动时间 页面打开时间 通过adb查看 adb shell am start -W packageName/Activit ...
- 北斗/GPS定位模块冷启动、热启动、温启动有什么区别?
** 1.冷启动** 什么条件下GPS冷启动?当设备关机时间超过4小时,或者设备光机状态下移动超过200公里,因为天空的GPS卫星星历参数发生了变化,开机时设备需要重新下载星历. 2.热启动 什么条件 ...
- App性能优化(一)—— 启动优化,冷启动,热启动,温启动
标签 : Android架构师之路 APP启动方式 App启动方式分三种:冷启动(cold start).热启动(hot start).温启动(warm start) ▲ 冷启动 系统不存在App进程 ...
- APP启动方式分析——冷启动、热启动、温启动
APP启动分析 Cold start At the beginning of a cold start, the system has three tasks. These tasks are: 1. ...
- App三种启动场景:冷启动、热启动、温启动
1.冷启动(App进程创建) 系统不存在App进程(APP首次启动或APP被完全杀死)时启动APP 此时,APP的启动将经历两个阶段: 第一阶段: 1.加载并启动app; 2.app启动后,第一时间为 ...
- app冷启动与热启动原理,及启动优化
-- app热启动 app热启动: 当应用已经被打开, 但是被按下返回键.Home键等按键时回到桌面或者是其他程序的时候,再重新打开该app时, 这个方式叫做热启动(后台已经存在该应用进程).热启 ...
最新文章
- 数据结构与算法--代码完整性案例分析
- 旋转根组件 Learn Unreal Engine (with C++)
- 对计算机的分析,对计算机思维的逻辑分析(范文).doc
- openresty json mysql_openresty 前端开发入门五之Mysql篇
- 解决Cell重用问题
- 【编译原理】什么是上下文无关文法、上下文有关文法?
- 加速器在模拟器中的尝试
- 微信支付接入-弹出支付框输入密码后一直在转圈,20s后提示:支付失败,请稍后再试
- 我是如何在一家独角兽公司做业务中台、数据中台的?8页ppt详解中台建设实践!...
- 【强化学习】强化学习的基本概念与代码实现
- 银行大数据风控管理针对哪些应用场景?
- 关于某normal大学数据库登录的一个尝试
- 数千个数据库、遍布全国的物理机,京东物流全量上云实录 | 卓越技术团队访谈录...
- Windows 10操作系统配置L2TP方法
- Git在windows下的安装和使用GIT@OSC
- 智能生活 App SDK 如何实现设备控制
- 转义符——反斜杠(\)
- 股票自选股程序编辑简介
- 用ollydbg手脱ArmadilloV3.60加壳的DLL
- 【转】程序员最喜欢的五大神器