当前位置: 首页 > news >正文

网站建设工程师职责说明书中国建设银行官方网站诚聘英才频道

网站建设工程师职责说明书,中国建设银行官方网站诚聘英才频道,jira confluence做网站,那个网站做搬家推广比较好launchMode在多个Activity跳转的过程中扮演着重要的角色#xff0c;它可以决定是否生成新的Activity实例#xff0c;是否重用已存在的Activity实例#xff0c;是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念#xff0c;task是一个具有栈结构的对象它可以决定是否生成新的Activity实例是否重用已存在的Activity实例是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念task是一个具有栈结构的对象一个task可以管理多个Activity启动一个应用也就创建一个与之对应的task。 Activity一共有以下四种launchMode 1.standard 2.singleTop 3.singleTask 4.singleInstance 我们可以在AndroidManifest.xml配置activity的Android:launchMode属性为以上四种之一即可。 [html] view plaincopy print? pre namecode classhtml stylefont-size: 14px;activity        android:name.A1        android:launchModestandard /    standard默认模式可以不用写配置。在这个模式下都会默认创建一个新的实例。因此在这种模式下可以有多个相同的实例也允许多个相同Activity叠加。例如若我有一个Activity名为A1, 上面有一个按钮可跳转到A1。那么如果我点击按钮便会新启一个Activity A1叠在刚才的A1之上再点击又会再新启一个在它之上……点back键会依照栈顺序依次退出。singleTop 可以有多个实例但是不允许多个相同Activity叠加。即如果Activity在栈顶的时候启动相同的Activity不会创建新的实例而会调用其onNewIntent方法。 例如若我有两个Activity名为B1,B2,两个Activity内容功能完全相同都有两个按钮可以跳到B1或者B2唯一不同的是B1为standardB2为singleTop。若我意图打开的顺序为B1-B2-B2则实际打开的顺序为B1-B2后一次意图打开B2实际只调用了前一个的onNewIntent方法若我意图打开的顺序为B1-B2-B1-B2则实际打开的顺序与意图的一致为B1-B2-B1-B2。 作用避免一个糟糕的用户体验,如果这个界面已经被打开且在任务栈的栈顶,就不会重复开启了 singleTask 只有一个实例。在同一个应用程序中启动他的时候若Activity不存在则会在当前task创建一个新的实例若存在则会把task中在其之上的其它Activity destory掉并调用它的onNewIntent方法。如果是在别的应用程序中启动它则会新建一个task并在该task中启动这个ActivitysingleTask允许别的Activity与其在一个task中共存也就是说如果我在这个singleTask的实例中再打开新的Activity这个新的Activity还是会在singleTask的实例的task中。例如若我的应用程序中有三个Activity,C1,C2,C3三个Activity可互相启动其中C2为singleTask模式那么无论我在这个程序中如何点击启动如C1-C2-C3-C2-C3-C1-C2C1,C3可能存在多个实例但是C2只会存在一个并且这三个Activity都在同一个task里面。但是C1-C2-C3-C2-C3-C1-C2这样的操作过程实际应该是如下这样的因为singleTask会把task中在其之上的其它Activity destory掉。操作C1-C2          C1-C2-C3          C1-C2-C3-C2            C1-C2-C3-C2-C3-C1             C1-C2-C3-C2-C3-C1-C2实际C1-C2          C1-C2-C3          C1-C2                              C1-C2-C3-C1                               C1-C2若是别的应用程序打开C2则会新启一个task。如别的应用Other中有一个activitytaskId为200从它打开C2则C2的taskIdI不会为200例如C2的taskId为201那么再从C2打开C1、C3则C2、C3的taskId仍为201。注意如果此时你点击home然后再打开Other发现这时显示的肯定会是Other应用中的内容而不会是我们应用中的C1 C2 C3中的其中一个。 应用场景          浏览器底层使用的是webkit c 内核,初始化一次需要申请很多的内存资源,占用cpu时间所以使用singletask,保证在任务栈里只会有一个实例存在 singleInstance 只有一个实例并且这个实例独立运行在一个task中这个task只有这个实例不允许有别的Activity存在。例如程序有三个ActivityD1,D2,D3三个Activity可互相启动其中D2为singleInstance模式。那么程序从D1开始运行假设D1的taskId为200那么从D1启动D2时D2会新启动一个task即D2与D1不在一个task中运行。假设D2的taskId为201再从D2启动D3时D3的taskId为200也就是说它被压到了D1启动的任务栈中。若是在别的应用程序打开D2假设Other的taskId为200打开D2D2会新建一个task运行假设它的taskId为201那么如果这时再从D2启动D1或者D3则又会再创建一个task因此若操作步骤为other-D2-D1这过程就涉及到了3个task了。 特点 singleInstance的启动模式更加极端, 开启新的activity,会给自己创建一个单独的任务栈 不管是从应用内部打开还是通过其他应用调用 TaskId是单独的已存在的则只需调用onNewIntent 应用场景 在整个手机操作系统里面只会有一个该activity的实例存在, 有道词典金山词典 所以多个应用程序共享这个activity的实例,有线程安全问题! 例如闹铃提醒将闹铃提醒与闹铃设置分离 转载http://blog.csdn.net/chaoyu168/article/details/51004716
http://www.zqtcl.cn/news/514119/

相关文章:

  • 太原 招聘 网站建设 技术经理关于 建设 二级网站
  • 如何做网站店铺的模板著名的响应式网站有哪些
  • 相城区建设网站做网站 设计师很
  • python网站开发好吗广州软件外包
  • 山东能源集团 网站建设对网站建设功能的情况说明
  • 网站设计个人各种类型网站建设口碑好
  • 西安巨久科技网站建设嘚嘚笔记 wordpress主推
  • 杭州利兴建设官方网站上海专业网站建设费
  • 自适应网站制作费用中国建设网官方网站企业登录
  • h5网站和传统网站区别电子商务主要学什么就业方向及前景
  • 凡科建站弊端各学院二级网站建设通报
  • 做网站怎么注册营业执照民制作网站哪家便宜
  • 临沂做进销存网站推广软件公司
  • 网站前端建设唐山网站建设托管
  • 做效果图有哪些网站seo怎么做关键词排名
  • 深圳手机网站开发什么网站可以做英语题
  • 网站优化什么意思图片展示网站
  • 建德做网站米趋外贸网站建设
  • 国外优秀的设计网站八爪鱼磁力搜索引擎
  • 网站建设优化陕西网络营销推广方法与策略
  • 网站建设推广者怎样找到客户百度seo排名帝搜软件
  • 绵阳网站托管网站建设第一品牌
  • 张家港网站建设培训班电商seo引流
  • 网站安全怎么做手机网站 焦点图
  • 阿里云做网站的代码网上申请入团网站
  • 精品课程网站怎么做建筑图纸符号大全解释
  • 高权重网站 内页做跳转给新网站许昌做网站公司哪家专业
  • 咸阳网站建设工作室网站建设经
  • 网站怎么做短信接口新浪wordpress
  • 方维o2o 2.9蓝色团购网站程序源码模板做一电影网站怎么赚钱