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

网站三级页怎么做/江北seo综合优化外包

网站三级页怎么做,江北seo综合优化外包,昆明网站建设 技术支持,网上赚钱网站目录介绍一、standard模式二、singleTop模式三、 singleTask模式四、singleInstance模式介绍Activity的启动模式一共有四种,分别为standard、singleTop、 singleTask、 singleInstance,可以在AndroidManifest.xml中通过给标签指定 android:launchMode属性…

目录

  • 介绍
  • 一、standard模式
  • 二、singleTop模式
  • 三、 singleTask模式
  • 四、singleInstance模式

介绍

Activity的启动模式一共有四种,分别为standard、singleTop、 singleTask、 singleInstance,可以在AndroidManifest.xml中通过给标签指定 android:launchMode属性来选择启动模式。

一、standard模式

standard模式是Activity的默认启动模式,当我们没有指定特定的模式启动Activity时,Activity将会以standard模式启动。使用standard启动Activity每次启动都会创建一个Activity实例

/*在MainActivity中启动MainActivity
每次点击button_1就会创建一个MainActivity实例
因此需要多点击一次button_2来关闭Activity
*/
class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)//打印日志查看是否创建新得MainActivity实例Log.d("MainActivity",this.toString())setContentView(R.layout.activity_main)button_1.setOnClickListener {val intent = Intent(this,MainActivity::class.java)startActivity(intent)}button_2.setOnClickListener { finish()  //销毁当前Activity}}
}

单击三次创建了三个心得MainActivity实例

v2-2af3e91f3f127a3c2944b9766d303168_b.png

二、singleTop模式

当目前MainActivity已经在栈顶时则不会创建新的MainActivity实例,但是当MainActivity不再栈顶时则会继续创建一个新的MainActivity实例修改AndroidManifest.xml中的MainActivity的启动模式

</activity><activity android:name=".MainActivity"android:launchMode="singleTop"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

当MainActivity在栈顶时,运行程序

class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)//打印日志查看是否创建新得MainActivity实例Log.d("MainActivity",this.toString())setContentView(R.layout.activity_main)button_1.setOnClickListener {val intent = Intent(this,MainActivity::class.java)startActivity(intent)}button_2.setOnClickListener { finish()  //销毁当前Activity}}
}

无论点击多少次button_1都不会创建心得MainActivity实例

v2-1ce7b97dc3daff8dcd3c66c080811150_b.png

当MainActivity不在栈顶时,运行程序
点击button_2从MainActivity跳转到Main2Activity,使Main2Activity在栈顶

class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)//打印日志Log.d("data",this.toString())           setContentView(R.layout.activity_main)//启动Main2Activitybutton_2.setOnClickListener {val intent = Intent(this,Main2Activity::class.java)startActivity(intent)}}
}

点击button_3从Main2Activity跳转到MainActivity

class Main2Activity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)Log.d("data",this.toString())setContentView(R.layout.activity_main2)button_3.setOnClickListener {val intent = Intent(this,Main2Activity::class.java)startActivity(intent)}}
}

查看打印日志可以看到从Main2Activity跳转到MainActivity时创建了一个新的MainActivity实例

v2-1bf45b5de8cf2ff41df5b3adaea3663d_b.png

三、 singleTask模式

singleTask模式则是standard模式和singleTop模式的升级版,解决了重复创建栈顶Activity的问题。当启动模式设置成 singleTask模式时,每次启动Activity,系统会先在返回栈中检查是否已经有这个实例,如果有则直接使用该实例,并且把该Activity之上的所有Activity出栈,如果没有则会创建新的实例。

四、singleInstance模式

指定singleInstance模式的Activity会启用一个新的返回栈来管理这个Activity
创建三个Activity,分别为MainActivity、Main2Activity、Main3Activity修改AndroidManifest.xml中的Main2Activity的启动模式

<activity android:name=".Main2Activity" android:launchMode="singleInstance"/><activity

修改MainActivity中的代码taskId实际是调用父类getTaskId()方法

class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)//打印返回栈IDLog.d("data","MainActivity Task:$taskId")setContentView(R.layout.activity_main)//启动Main2Activitybutton_2.setOnClickListener {val intent = Intent(this,Main2Activity::class.java)startActivity(intent)}}
}

修改Main2Activity中的代码

class Main2Activity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)//打印返回栈IDLog.d("data"," Main2Activity Task:$taskId")setContentView(R.layout.activity_main)//启动Main2Activitybutton_3.setOnClickListener {val intent = Intent(this,Main3Activity::class.java)startActivity(intent)}}
}

修改Main3Activity中的代码

class Main3Activity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)Log.d("data","Main3Activity Task:$taskId")setContentView(R.layout.activity_main3)}
}

打印日志查看返回栈ID

v2-88a1acb43d8de8164293b13b42a43369_b.jpg


可以看到模式设置成singleInstance模式的 Main2Activity的返回栈ID与模式为默认模式为standard模式的MainActivity、Main3Activity的返回栈ID不同。

文章来源如侵删——

Activity的四种启动模式_Ternence_T的博客-CSDN博客​blog.csdn.net
v2-2af3e91f3f127a3c2944b9766d303168_180x120.jpg
http://www.lbrq.cn/news/1547299.html

相关文章:

  • 嘉兴网站建设网站/河南品牌网络推广外包
  • 企业网站管理系统破解版/更先进的seo服务
  • 惇王爷/上海seo推广方法
  • 安全的网站制作公司/最新新闻国内大事件
  • 百度搜索指数排行/关键词seo排名
  • 徐州网站开发市场/互联网营销模式有哪些
  • 容桂做外贸网站/怎么安装百度
  • 江苏嘉隆工程建设有限公司网站/泉州百度广告
  • 政府网站安全如何做/站长工具排名查询
  • 遵义市网站建设/微帮推广平台怎么加入
  • 网站忧化是干什么的/品牌推广的渠道有哪些
  • 杭州短视频培训学校/sem优化服务公司
  • 网站建设预算明细表/广点通广告平台
  • php网站模块修改/网站建设步骤
  • 杭州化妆品网站建设/重庆seo网络营销
  • 58同城成都网站建设/免费网页制作平台
  • 网站开发市场规模/做网站比较好的公司有哪些
  • 做网站有包括哪些东西/整站优化加盟
  • 怎么引导做淘宝的客户做官方网站/无锡百度关键词优化
  • 宁夏网站建设中/seo百家论坛
  • 自己做网站 怎么赚钱/百度热榜排行
  • 0投资一天赚80/什么是seo关键词
  • 网站开发软硬件配置/百度seo权重
  • 做网站入门看什么书/个人网站如何优化关键词
  • wordpress博客非插件/优化大师手机版下载
  • 深圳找个做网站平台的/市场调研表模板
  • 邢台网站设计哪家专业/网站建设与管理就业前景
  • 学校建设网站/steam交易链接可以随便给别人吗
  • 登录自治区建设厅的网站查询/宁波网络推广seo软件
  • 北京网站建设学校/网站怎么提升关键词排名
  • 当GitHub宕机时,我们如何协作
  • vue3 el-table-column 列头添加 图标按钮
  • AI心理助手开发文档
  • 【深度长文】Anthropic发布Prompt Engineering全新指南
  • Rust Async 异步编程(五):执行器和系统 I/O
  • E2B是一个开源基础设施,允许您在云中安全隔离的沙盒中运行AI生成的代码和e2b.dev网站