Android之冷启动和热启动,以及代码
昨天听到一个群里面的人說一些问题。大概提了一下热启动和冷启动的方案,结果那小伙伴不知道。。。。
我这边就简单的说明一下:
热启动呢:就是你已经打开过APP但是实际上面你使用home键等。就是还存在后台的应用。再次打开的时候算是属于热启动了。
冷启动呢:属于你第一次打开APP,系统在给你开一个进程。
这个时候我在说明一下热启动的作用。我这边公司想知道他APP开了几次。而且需要准确的数据。这个时候,使用热启动。其实热启动很多地方都可以使用到。
现在贴一下代码:(这个代码是之前在百度上面copy过来的)首先我们要知道这个东西是不是还在前台。
/*** 程序是否在前台运行** @return*/public boolean isAppOnForeground() {// Returns a list of application processes that are running on the// deviceActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);String packageName = getApplicationContext().getPackageName();List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();if (appProcesses == null)return false;for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {// The name of the process that this object is associated with.if (appProcess.processName.equals(packageName)&& appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {return true;}}return false;}
我也得知道这个APP什么时候进去后台,对吧~~那么我们得知道安卓的Activity得生命周期。写一个简单版本得
oncreate
onpause
onstop
ondestory
那么这几个里面我应该选哪一个进行记录呢oncreate和onDestory不可能,onpause和onstop俩个。一个是暂停,但是不代表进去了后台页面。但是对于onstop是有的
所以这边的选择是onstop
@Overrideprotected void onStop() {super.onStop();if (!isAppOnForeground()) {//app 进入后台isLive = false;//全局变量isActive = false 记录当前已经进入后台}}
那么知道生命周期的应该知道那个onResume这个:
@Overrideprotected void onResume() {super.onResume();mCurContext = this;if (!isLive) {//app 从后台唤醒,进入前台HttpTwo();isLive = true;}}
那么代码如上了~~
Android之冷启动和热启动,以及代码相关推荐
- 冷启动和热启动的区别android,app冷启动和热启动的区别(详解两者定义及区别)...
介绍一下 app 冷启动和热启动方式来实现 app 秒开的效果.那么,先来看看什么叫冷启动和热启动. 冷启动:指 app 被后台杀死后,在这个状态打开 app,这种启动方式叫做冷启动. 热启动:指 a ...
- android开发冷启动和热启动的区别,android 冷启动和热启动
一.什么是冷启动.热启动? 冷启动: 在启动应用时,系统中没有该应用的进程,这时系统会创建一个新的进程分配给该应用: 热启动: 在启动应用时,系统中已有该应用的进程(例:按back键.home键,应用 ...
- Android中的冷启动与热启动
一应用的启动方式 二应用的启动过程 三冷启动过程中碰到的白屏黑屏以及优化启动时间 冷启动时间优化 本文转自逊志的博客 一.应用的启动方式 通常来说,启动方式分为两种:冷启动和热启动. 1.冷启动:当启 ...
- android app 热启动,app冷启动和热启动的区别(详解两者定义及区别)
介绍一下 app 冷启动和热启动方式来实现 app 秒开的效果.那么,先来看看什么叫冷启动和热启动. 冷启动:指 app 被后台杀死后,在这个状态打开 app,这种启动方式叫做冷启动. 热启动:指 a ...
- Android 查看App冷启动时间/热启动时间/页面打开时间
Android 查看App冷启动时间/热启动时间/页面打开时间 冷启动时间 热启动时间 页面打开时间 通过adb查看 adb shell am start -W packageName/Activit ...
- Android冷启动和热启动
一.首先介绍一下启动的方式 启动方式分为两种:冷启动和热启动. 1.冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动. 2.热启动:当启动 ...
- Android冷启动和热启动以及冷启动优化方案
1.什么是冷启动和热启动 冷启动: 当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动,也就是先实例化Application. 热启动: 当启动应用 ...
- Android冷启动与热启动概念
Android冷启动与热启动概念 冷启动 什么是冷启动 Android中的冷启动,使用直白的话就是: 当手机 重启 ,点击桌面图标启动应用的过程就是冷启动 未启动手机,长时 未使用,应用被 kill ...
- android热启动时间,Android冷启动和热启动
一.什么是冷启动.热启动? 冷启动: 在启动应用时,系统中没有该应用的进程,这时系统会创建一个新的进程分配给该应用: 热启动: 在启动应用时,系统中已有该应用的进程(例:按back键.home键,应用 ...
最新文章
- 王道考研 计算机网络笔记 第二章:物理层
- THttprio连接WebService的内存泄漏问题
- Java并发编程之CountDownLatch(闭锁)使用详解
- jar包不统一也会报错:Exception in thread main java.lang.NoClassDefFoundError
- Redis常用配置参数详解及查看修改命令
- 史迪仔的原型_星际宝贝三个版本对比,莉罗抛弃史迪仔,童年真的回不去了
- 【Flink】FileNotFoundException: JAR file does not exist: -ynm -yst
- 文件上传漏洞原理/方式/防护
- HTML5基础教程(14)Web SQL 数据库
- 5板斧---分析短信、彩信收发异常
- android自定义播放器按钮,android – 使用exo播放器添加全屏视频按钮
- 一日一技:geopandas,用python画地图原来这么简单!
- 阿里10年:一个普通技术人的成长之路
- 【devops】非必要 不要自建harbor 能力不足 真的被坑的服了 阿里云ACR不香吗?k8s接入ACR
- KINOVA公司JACO2、MICO2从安装到开发
- Mysql设计学生宿舍管理系统+考勤系统
- manjaro双系统 windows_manjaro win10双系统安装
- 被称为“核弹级别”的OpenSSL漏洞
- STM32开发板串口 ISP 方式下载程序
- 松川仪表IPO被终止:年营收2.58亿 林茂波夫妇控制77%股权