android中activity的四种加载模式,应该都很熟。今天介绍一下工作中的偶然发现,就是当在一个Activity中(加载模式为"singleInstance".),点击home键,再打开app时,并不会回到该Activity,而是回退到 主Activity任务栈中。   "singleInstance"的介绍。"singleInstance".Same as "singleTask", except that the system doesn't launch any other activities into the task holding the instance. The activity is always the single and only member of its task; any activities started by this one open in a separate task.   上面没有介绍上面的情况,因此只能实践一下,了解一下机制。若有哪位懂原理的大大,解释下哈。   第一个界面main1,加载模式为默认(https://img-blog.csdn.net/20150514233822570)   第二个界面main2,加载模式singleInstance(https://img-blog.csdn.net/20150514234016809)   点击按钮2的时候,会跳到main2,点击home键。   打印生命周期:   (https://img-blog.csdn.net/20150514234450749)   重新打开app,进入了main1界面,但是main2并没有被杀死。说明点击home键后再打开,从新回到 主任务栈。接下去说2种情况。   (1)在上面main1界面,点击回退键,直到退出程序,main2还是没有被杀死。若杀死app,main2才执行onDestroy。   (2)在上面main1界面,点击button2,再次进入main2,点回退键生命周期如下:   生命周期回归正常(https://img-blog.csdn.net/20150514235455890)   总结:不管加载多少个加载模式为"singleInstance"的activity(已测试过该种情况),home键后打开app,都回到主任务栈的TopActivity。若点回退键,将不会回到"singleInstance"的activity中。  若没有按home键,则退出顺序为:最近被使用任务栈顺序。   (补充:程序被杀死,"singleInstance"的activity不一定被杀死。多个"singleInstance"的activity存在,杀死程序,最多只会杀死一个"singleInstance"的activity。。。。难道是我手机渣?800块的华为不给力啊)

更多相关文章

  1. Intellij Idea12第一个安卓程序开发(HelloWorld)及简单讲解Android
  2. 【转】android有效解决加载大图片内存溢出的问题
  3. Android实现TCP客户端接收数据的方法
  4. ViewPager两大弊端优化方案
  5. Android(安卓)Studio FFmpeg视频解码播放
  6. android开发-界面设计基本知识Ⅳ
  7. 对Android之事件分发机制的理解
  8. Android设置TextView部分文字变色及点击事件
  9. Android加载通话记录流程分析

随机推荐

  1. IPC(六)—一张图解释Messenger的设计思想
  2. android Region碰撞
  3. Android(安卓)轮播图banner框架的使用
  4. Webview setLayoutAlgorithm
  5. android apk反编译打包签名
  6. BroadcastReceiver(三)广播消息的优先级与
  7. Android多个Activity
  8. Android(安卓)怎么把GMT+8.0转化为UTC时
  9. Android(安卓)横竖屏切换小结
  10. android 网络联接