ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Activity相关总结

2022-07-05 20:01:22  阅读:261  来源: 互联网

标签:总结 Activity 栈顶 实例 activity 进程 相关 跳转 页面


什么是activity

安卓为用户提供的用于各种比如滑动操作的接口

activity的四种状态

running:
活动状态,处于activity栈顶

paused:
失去焦点或者被一个非全屏的activity遮住,或者一个透明的activity在栈顶。

stopped:
被全屏显示的activity覆盖

killed:
activity被回收掉

activity的生命周期

activity启动->onCreate()->onStart()->onResume()

onStart() : activity可见但是无法与用户进行交互

onResume() :前台可见,可交互

点击home键返回主界面(activity不可见)->onPause()->onStop()

onPause():activity处于停止状态,整个activity可见但是不能触摸

onStop():整个activity已经停止或者被完全覆盖

再次回到原activity时->onRestart()->onStart()->onResume()

onRestart():表示activity正在重新启动,activity由不可见变为可见状态时会调用onRestart()方法

退出当前activity时->onPause()->onStop()->onDestroy()

onDestroy():当前activity正在被销毁,可以做一些回收工作和一些资源的释放。

android的进程优先级

前台/可见/服务/后台/空

前台进程: 与用户正在进行交互的activity或者与前台进程绑定的service

可见进程: 用户可见但无法进行交互

服务进程: 后台开启的service服务

后台进程: 比如当前app,按home键就由前台进程变成了后台进程

空进程: 不属于上面任何一种就是空进程,出于缓存的目的保留它,可以随时被内存回收

android任务栈

image

activity启动模式

standard: (标准模式)每次启动都会重新创建一个activity的实例。然后将它加到任务栈中。而且不会考虑这个任务栈中之前是否有这个activity的实例。即便有也不会复用,只会重新创建一个activity的实例。
standard模式中,每创建一个activity都会走相应的生命周期方法。即onCreate()->onStart()->onResume()

singletop: (栈顶复用模式) 如果创建的activity已经有实例在任务栈的栈顶,就不会去创建新的activity,而是去复用任务栈顶的activity。
如果你想要创建的activity实例不是处于栈顶比如处于第二个位置,还是会去重新创建一个activity实例。

singletask: (栈内复用模式)类似于单例模式。检测整个任务栈中是否有当前启动activity的实例。如果有就将该activity实例至于栈顶,同时将该activity实例以上的所有activity都从任务栈中移除,销毁。同时调用onNewInstance()方法。没有就重新创建。

singleinstance: 整个任务系统中有且只有一个该activity的实例,并且该activity实例独享整个任务栈。用的比较少。

scheme跳转协议

android中的scheme是一种页面内跳转协议,通过自定义scheme协议,可以非常方便的跳转app中的各个页面。
通过scheme协议,服务器可以定制化告诉app跳转哪个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。

标签:总结,Activity,栈顶,实例,activity,进程,相关,跳转,页面
来源: https://www.cnblogs.com/cfdroid/p/16448435.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有