工作总结------(1) Activity启动模式 singleTask的妙用
2016-04-01 10:55
357 查看
activity的启动模式,相信大家都很是了解的,毕竟,在学习android不久都会去了解到,一些面试题上。activity的启动模式几乎都是必问题目。
但是,我们一般都只能笼统的按照正规的答案去回答。在某些模式具体的应用上,可能没有什么好的想法。
那么,今天。来推荐一个singleTask的使用场景啦。
看到这段描述有想到什么呢?
比如说,去注册的页面。
一般情况下,主页面(A)-> 登录页面(B)-> 注册页面(C) ->注册页面(D) ->注册成功页面(E)
是以上几个流程。
那么一般注册成功之后,我们会返回到登录页面,进行一次自动登录,回到主界面。
这种情况下,我们需要关闭掉c,d,e页面。
那么正常情况我们是怎么处理呢?
一般来说,我们可能会使用startActivityForResult(),根据返回code来关闭页面。
这样做可以达到我们想要的效果,但是,在每个类都需要重写一个方法,那是不是显得麻烦呢?
那么。这时候,就可以考虑下SingleTask模式了。
此时,只要将B(登录页面)设置成singleTask模式。
注册成功之后,直接startActivity()跳转到登录界面
即 E->B
那么,在B上面的C ,D ,E界面都会被自动关闭掉。无需做多余的操作。
这样,是不是显得更简单呢?
相应的业务场景,可能在支付界面,一些返回需要关闭几个页面的需求上,都是可以尝试使用下的。
而且,下次面试的时候,在回答activity的启动模式的时候,也可以说一下singleTask的使用场景。
相信也是一个加分项吧~~
但是,我们一般都只能笼统的按照正规的答案去回答。在某些模式具体的应用上,可能没有什么好的想法。
那么,今天。来推荐一个singleTask的使用场景啦。
使用场景
singleTask:如果某个Activity是singleTask模式,那么Task栈中将会只有一个该Activity的实例。 此时D通过Intent跳转到B,则栈的情况变成了:A B。而C和D被弹出销毁了,也就是说位于B之上的实例都被销毁了。
看到这段描述有想到什么呢?
比如说,去注册的页面。
一般情况下,主页面(A)-> 登录页面(B)-> 注册页面(C) ->注册页面(D) ->注册成功页面(E)
是以上几个流程。
那么一般注册成功之后,我们会返回到登录页面,进行一次自动登录,回到主界面。
这种情况下,我们需要关闭掉c,d,e页面。
那么正常情况我们是怎么处理呢?
一般来说,我们可能会使用startActivityForResult(),根据返回code来关闭页面。
这样做可以达到我们想要的效果,但是,在每个类都需要重写一个方法,那是不是显得麻烦呢?
那么。这时候,就可以考虑下SingleTask模式了。
此时,只要将B(登录页面)设置成singleTask模式。
注册成功之后,直接startActivity()跳转到登录界面
即 E->B
那么,在B上面的C ,D ,E界面都会被自动关闭掉。无需做多余的操作。
这样,是不是显得更简单呢?
相应的业务场景,可能在支付界面,一些返回需要关闭几个页面的需求上,都是可以尝试使用下的。
而且,下次面试的时候,在回答activity的启动模式的时候,也可以说一下singleTask的使用场景。
相信也是一个加分项吧~~
相关文章推荐
- 关于shared_ptr
- synchronized 在单例singleton模式中的应用
- 【转帖】云测试——是祸?是福?
- 侧滑菜单
- qt的信号与槽函数
- 深入理解PHP内核(十二)函数-函数的定义、传参及返回值
- Deployed component GUIs and figures have different look and feel than MATLAB desktop
- Jquery的deferred对象详解
- java single instance
- 空指针异常常见原因
- Jupyter Notebook 的快捷键
- 如何使用Bitmaputils加载图片
- C语言基础知识
- UIPresentationController自定义转场动画
- 5.0以上移动数据的关闭
- 20、AngularJs知识点总结 part-2
- 字符串作业3
- 深入理解PHP内核(十一)函数-函数的内部结构
- 制作闪烁文字
- ViewPage,TabHost与Fragment(下)