The behavior of App killed or restored by Android System or by users
What's the behavior of App killed or restored by Android System or by users?
First, user kills the app by swiping out the screen
The DEMO process is killed and activity stack is cleared. And the system will relaunch the DEMO process automatically. When user launch the app, it will just likes user taps App icon in home screen.
Second, user force to stop the app on the app information page
The DEMO process is killed and activity stack is cleared. When user launches the app, it will just likes user taps App icon in home screen.
Third,Killed/restored by system when there’s insufficient memory.
Two behaviours,
1. If DEMO app is running in background (press home button to move DEMO task to background).
For example, go to about -> what’s new , stay in what’s new screen, then press the home menu to move DEMO app to background, the activity stack is:
TaskRecord{671c710 #129 A=com.demo.android U=0sz=3}
Run #7: ActivityRecord{1f2503f6 u0com.demo.android/.whatsnew.WhatsNewActivity t129}
Run #6: ActivityRecord{10cbd46 u0com.demo.android/.settings.About t129}
Run #5: ActivityRecord{867b18f u0com.demo.android/.main t129}
Then kill the DEMO process, system will relaunch the DEMO process automatically, but the activity stack does not be restored, the task record is empty,
TaskRecord{671c710 #129 A=com.demo.android U=0 sz=3}
Then relaunch the DEMO app from launcher, the task record is:
TaskRecord{671c710 #129 A=com.demo.android U=0 sz=4}
Run #5: ActivityRecord{229cb1f7 u0com.demo.android/.main t129}
We see here system will launch the root activity (main)instead of keep the last activity (WhatsNewActivity).
2. If DEMO app is running, and switch to other app from notification.
Follow the same flow of case 1. Keep in what’s new screen:
TaskRecord{671c710 #129 A=com.demo.android U=0 sz=3}
Run #7: ActivityRecord{69eb835 u0com.demo.android/.whatsnew.WhatsNewActivity t129}
Run #6: ActivityRecord{2ca853c5 u0com.demo.android/.settings.About t129}
Run #5: ActivityRecord{867b18f u0com.demo.android/.main t129}
Kill DEMO app, system will relaunch the demo process automatically.Press back key to return DEMO app.
TaskRecord{671c710 #129 A=com.demo .android U=0 sz=3}
Run #5: ActivityRecord{69eb835 u0com.demo.android/.whatsnew.WhatsNewActivity t129}
We see here we still stay in the What’s new screen, press back will back to about screen. System will restore the activity stack. However,because the new process lose all global data, such as auth status, and otherdata in memory, so the DEMO will be in a
wrong status.
Finally,I trigger the scenario "system is lack of memory", and we can learn that Both UI process and Service
process of DEMO app killed /restored bysystem when in low memory, and the activity stack will be empty, once it restored by system, it just likes user taps demo app icon in home screen.
The behavior of App killed or restored by Android System or by users的更多相关文章
- [Tool] 取得APP的Store URL Scheme (Android、iOS)
[Tool] 取得APP的Store URL Scheme (Android.iOS) 前言 在企业网站中,如果希望使用URL连结的方式,开启Store APP来下载APP(非网页下载).开发人员可以 ...
- 命令行下使用javah命令生成.h文件,出现“错误: 无法访问android.app.Activity 找不到android.app.Activity的类文件”的解决方法
在学习NDK中,当我在项目的bin/classes目录下使用javah命令生成头文件时,出现了“错误: 无法访问android.app.Activity 找不到android.app.Activity ...
- 【转】can't find referenced method 'android.app.RemoteInput[] getRemoteInputs()' in class android.app.Notification$Action
原文网址:http://stackoverflow.com/questions/25508735/cant-find-referenced-method-android-app-remoteinput ...
- 微信授权登陆接入第三方App(步骤总结)Android
微信授权登陆接入第三方App(步骤总结)Android Android App实现第三方微信登录
- wemall app商城源码中android按钮的三种响应事件
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码中android按 ...
- 写给Android App开发人员看的Android底层知识(8)
(十)PMS及App安装过程 PMS,全称PackageManagerService,是用来获取Apk包的信息的. 在前面分析四大组件与AMS通信的时候,我们介绍过,AMS总是会使用PMS加载包的信息 ...
- Windows Phone App的dump文件实例分析- System.ExecutionEngineException
前言 在开始这篇文章之前我们先来讲讲如何从高度优化的Release版的Dump中找到正确的异常上下文地址,并手动恢复异常发生的第一现场. 1. 什么是异常上下文 简单来说,在windows体系的操作系 ...
- 将报表移动端集成到自有移动端app方法【IOS、Android】
应用场景 用户有自己的app,希望把报表的移动端[本文中以FineReport移动端为例]功能集成到他们的app里面去,而不需要安装两个app.Android端和IOS端的集成接口是不一样的,下面我们 ...
- 仿各种APP将文章DOM转JSON并在APP中以列表显示(android、ios、php已开源)
背景 一直以来都想实现类似新闻客户端.鲜城等文章型app的正文显示,即在web editor下编辑后存为json,在app中解析json并显示正文. 网上搜过,没找到轮子.都是给的思路,然后告知是公司 ...
随机推荐
- Javascript和jquery事件--事件冒泡和事件捕获
jQuery 是一个 JavaScript 库,jQuery 极大地简化了 JavaScript 编程,在有关jq的描述中,jq是兼容现有的主流浏览器,比如谷歌.火狐,safari等(当然是指较新的版 ...
- BZOJ4652: [Noi2016]循环之美(莫比乌斯反演,杜教筛)
Description 牛牛是一个热爱算法设计的高中生.在他设计的算法中,常常会使用带小数的数进行计算.牛牛认为,如果在 k 进制下,一个数的小数部分是纯循环的,那么它就是美的.现在,牛牛想知道:对 ...
- command---调用指定的指令并执行
command命令调用指定的指令并执行,命令执行时不查询shell函数.command命令只能够执行shell内部的命令. 语法 command(参数) 参数 指令:需要调用的指令及参数. 实例 使用 ...
- SpringMVC框架中的异常解析器-ExceptionHandler和HandlerExceptionResolver
SpringMVC框架中,处理异常还是挺方便的,提供了一个异常解析器. 处理局部异常 @Controller public class AccessController { /** * 处理这个Con ...
- AtomicInteger类
今天写代码.尝试使用了AtomicInteger这个类,感觉使用起来非常爽,特别适用于高并发訪问.能保证i++,++id等系列操作的原子性. ++i和i++操作并非线程安全的.非常多人会用到synch ...
- POJ--2516--Minimum Cost【最小费用最大流】
链接:http://poj.org/problem?id=2516 题意:有k种货物,n个客户对每种货物有一定需求量,有m个仓库.每一个仓库里有一定数量的k种货物.然后k个n*m的矩阵,告诉从各个仓库 ...
- 洛谷P1852 奇怪的字符串
题目描述 输入两个01串,输出它们的最长公共子序列的长度 输入输出格式 输入格式: 一行,两个01串 输出格式: 最长公共子序列的长度 输入输出样例 输入样例#1: 复制 01010101010 00 ...
- BZOJ4372: 烁烁的游戏(动态点分治)
Description 背景:烁烁很喜欢爬树,这吓坏了树上的皮皮鼠.题意:给定一颗n个节点的树,边权均为1,初始树上没有皮皮鼠.烁烁他每次会跳到一个节点u,把周围与他距离不超过d的节点各吸引出w只皮皮 ...
- BZOJ4817: [Sdoi2017]树点涂色(LCT)
Description Bob有一棵n个点的有根树,其中1号点是根节点.Bob在每个点上涂了颜色,并且每个点上的颜色不同.定义一条路 径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色. ...
- 洛谷 P1223 排队接水
洛谷 P1223 排队接水 题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小. 输入输出格式 输入格式: 输入文件共 ...