android学习1:初识Activity

简介:

google官方的activity生命周期图

Activity的生命周期为onCreate->onStart->onResume->onPause->onStop->onDestory。


应用启动:onCreate->onStart->onResume

当Activity经过onResume之后就进入“运行态”,这个时候如果有一个新的Activity进入,则Activity将执行onPause进入“暂停态”,如果新进入的Activity没有完全覆盖原来的Activity,也就是原来的Activity还有一些部分是可见的,那么Activity将暂时停留在“暂停态”,当新进入的Activity退出后,原来的Activity回到onResume,然后重新进入“运行态”;如果新进入的Activity将原来的Activity完全覆盖,那么原来的Activity在执行完onPause之后会进一步执行onStop,进入“停止态”,此时如果新进入的Activity退出,则原Activity执行onRestart->onStart->onResume重新进入“运行态”

当Activity处于“暂停态”或者“停止态”的时候,如果其他的应用程序需要内存,而整体内存不够用的时候,这个Activity就会被回收。

按下返回键:onPause->onStop->onDestory

"Run""暂停态",返回的时候会退出该应用,依次会进入"停止态"->退出应用(也就是销毁)

长按Home键:onPause->onStop

长按home键的时候是加入一个新的activity,这时从"Run""暂停态",长按后的activity完全覆盖了当前的activity,所以进入"停止态"

返回界面:onRestart->onStart->onResume

因为activity已经创建过了,并且没有销毁,所以这里返回(这里是指长按home键之后点击应用返回)首先走了"onrestart",然后进入"onstart",再到"运行态"

不同的Activity可以运行在不同的进程中

  • 在Android系统中,每一个应用程序都是由一些Activity和Service组成。

  • Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中,一般情况下,一个应用程序的所有Activity都运行在同一个进程中。

  • 如果想让某个Activity运行在独立的进程中,则需要在Androidmanifest.xml中对Activity的属性Android:process =”value“ 进行配置,value的值就是此Activity所在的进程的进程名。如果进程名以“:”开头,则为私有进程;如果进程名以小写字母开头,则为全局进程。

  • 进程之间的通信主要靠binder机制。

  • 让某些Activity运行在单独的进程中的好处是可以降低整个应用中不同组件之间的耦合度。

目录
相关文章
|
3月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
101 6
|
6月前
|
Android开发
Android面试题之Activity的启动模式和flag
Android Activity的四种启动模式:standard(默认,每次启动创建新实例),singleTop(栈顶复用,不走onCreate,调用onNewIntent),singleTask(栈内唯一,清除上方Activity)和singleInstance(单独栈内唯一)。启动模式在AndroidManifest.xml中配置,Intent Flags如FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_SINGLE_TOP可实现类似功能。了解这些对于处理Activity栈管理至关重要。
59 0
|
3月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
Android面试高频知识点(4) 详解Activity的启动流程
35 3
|
3月前
|
缓存 前端开发 Android开发
Android实战之如何截取Activity或者Fragment的内容?
本文首发于公众号“AntDream”,介绍了如何在Android中截取Activity或Fragment的屏幕内容并保存为图片。包括截取整个Activity、特定控件或区域的方法,以及处理包含RecyclerView的复杂情况。
33 3
|
4月前
|
Java Maven 开发工具
第一个安卓项目 | 中国象棋demo学习
本文是作者关于其第一个安卓项目——中国象棋demo的学习记录,展示了demo的运行结果、爬坑记录以及参考资料,包括解决Android Studio和maven相关问题的方法。
第一个安卓项目 | 中国象棋demo学习
|
3月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
24 0
|
4月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
讲解Activity的启动流程了,Activity的启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等, 首先介绍一下Activity,这里引用一下Android guide中对Activity的介绍:
64 4
|
5月前
|
XML Android开发 数据格式
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
本文通过案例分析了在Android中当两个Activity都设置了`android.intent.category.LAUNCHER`类别时,会导致它们同时在应用启动器的"所有应用"页面显示为不同的启动入口。
151 2
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
|
3月前
|
Web App开发 编解码 视频直播
视频直播技术干货(十二):从入门到放弃,快速学习Android端直播技术
本文详细介绍了Android端直播技术的全貌,涵盖了从实时音视频采集、编码、传输到解码与播放的各个环节。文章还探讨了直播中音视频同步、编解码器选择、传输协议以及直播延迟优化等关键问题。希望本文能为你提供有关Andriod端直播技术的深入理解和实践指导。
62 0
|
4月前
|
Android开发
Android学习 —— 测试init.rc中的条件触发的处理顺序
Android学习 —— 测试init.rc中的条件触发的处理顺序