文档章节

android 应用退到后台,类似最小化

simpower
 simpower
发布于 2014/10/08 20:40
字数 352
阅读 48
收藏 0

在activity中调用 moveTaskToBack (boolean nonRoot)方法即可将activity 退到后台,注意不是finish()退出。

参数为false代表只有当前activity是task根,指应用启动的第一个activity时,才有效;

如果为true则忽略这个限制,任何activity都可以有效。

moveTaskToBack调用后,task中activity的顺序不会发生变化,例如A启动B,B中调用此方法退到后台,重新启动应用会调用B中的onRestart-onStart-onResume方法,不会重新调用onCreate,而且在B中按下back键返回的还是A,这就是退到后台的功能。


另外在activity中按下back键,实际是调用了finish方法,应用退出。虽然应用已经退出,但进程没有被杀死,android中一个应用运行于独立的一个虚拟机实例中,所以在重新启动应用时一个类中的静态对象还保持着运行时的状态,注意在合适位置复位这些状态。


关于moveTaskToBack 方法,官方API解释如下:

public boolean moveTaskToBack (boolean nonRoot)

Since: API Level 1

Move the task containing this activity to the back of the activity stack. The activity's order within the task is unchanged.

Parameters
nonRoot If false then this only works if the activity is the root of a task; if true it will work for any activity in a task.
Returns
  • If the task was moved (or it was already at the back) true is returned, else false.


本文转载自:http://blog.csdn.net/cool_ping/article/details/8237995

共有 人打赏支持
simpower
粉丝 24
博文 536
码字总数 38046
作品 0
海淀
程序员
按返回键时不销毁当前activity

Android 将按Back按钮转换为按Home键一样的效果 1.当收到back键消息时,调用moveTaskToBack,这样的效果和按Home一样,程序并没有退出,而是在后台。 activity中调用 moveTaskToBack (boolea...

宇宙执政
2014/02/21
0
0
activity之moveTaskToBack

android的moveTasktoBack()就是说让进程activity栈在后台去运行,类似最小化。可以使用这个方法,不让我们的应用退出。 moveTaskToBack会让activity永不过期,即不执行onDestroy(),调用mov...

40岁的青春
2015/06/03
0
0
android:excludeFromRecents 属性需要注意的小地方

在 Android 系统中,如果我们不想某个 Activity 出现在 “Recent screes” 中,可以设置 属性 android:excludeFromRecents 为 true。其中有些需要注意到的地方说明下。 android:excludeFromR...

夏洛克的喵
06/12
0
0
Android实现不重复启动APP的方法

类似QQ、微信这样的APP,一般都不会打开两个实例。   比如:打开QQ客户端,进入到好友聊天界面,然后按HOME返回桌面 这时候有两种情况:   1、如果你在最近任务中切换会QQ客户端,那么还...

莫铭
2015/11/14
0
1
Activity启动模式&Task栈

在AMS中,ActivityRecord对应一个Activity,TaskRecord对应一个Task,每个TaskRecord中保存了若干ActivityRecord,TaskRecord由taskId标识,通过getTaskId()可以获取Activity所属的Task。Act...

JasmineBen
05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

什么是集群、分布式、集中式、伪分布式

1. 集中式 将项目等部署到同一台机器上,对机器性能要求比较高,一般会用多台机器备份,否则,如果机器出现死机等状况,整个项目将不能运行。 eg:就好比你要盖一座房子,你房子就给一个人盖...

吴伟祥
34分钟前
0
0
微服务写的最全的一篇文章

今年有人提出了2018年微服务将疯狂至死,可见微服务的争论从未停止过。在这我将自己对微服务的理解整理了一下,希望对大家有所帮助。 1.什么是微服务 1)一组小的服务(大小没有特别的标准,...

Java烂猪皮
35分钟前
0
0
Java 并发编程原理

为什么要使用多线程? 通过多线程提高吞吐量 伸缩性比较好,可以增加 CPU 核心来提高程序性能 什么场景下使用多线程? 如:tomcat BIO Java 如何实现多线程? Thread、Runnable、ExecutorSer...

aelchao
49分钟前
2
0
谨慎的覆盖clone方法

说在前面 有些专家级程序员干脆从来不去覆盖clone方法,也从来不去调用它,除非拷贝数组。 其他方式 可以提供一个构造函数或者工厂去实现clone功能。 相比于clone,它们有如下优势: 不依赖于...

XuePeng77
50分钟前
1
0
什么是最适合云数据库的架构设计?

分布式数据库技术发展多年,但是在应用、业务的驱动下,分布式数据库的架构一直在不断发展和演进。 开源金融级分布式数据库SequoiaDB,经过6年的研发,坚持从零开始打造数据库核心引擎。在技...

巨杉数据库
59分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部