2024年3月31日发(作者:)
Android之Activity总结
一、什么是Activity
Activity 是用户接口程序,原则上它会提供给用户一个交互式的接口功能。它是 android
应用程序的基本功能单元。Activity 本身是没有界面的。所以activity类创建了一个窗口,
开发人员可以通过setContentView(View)接口把UI放到activity创建的窗口上,当
activity指向全屏窗口时,也可以用其他方式实现:作为漂浮窗口(通过windowIsFloating
的主题集合),或者嵌入到其他的activity(使用ActivityGroup)。activity是单独的,
用于处理用户操作。几乎所有的activity都要和用户打交道
二、Activity生命周期(生命周期方法)
由图可知,这些方法调用的顺序:
ty正常启动:onCreate -> onStart -> onResume;
ty被杀掉:onPause -> onStop -> onDestroy,此为一个完整的生命周期。
3.中断处理:onPause -> onStop,恢复时onRestart-> onStart -> onResume;
4.如果当前Activity是半透明状态或者对话框状态:那么中断就是onPause ,恢复的时候
onResume。
那么对于”Other app need memory”,就是我们手机在运行一个应用程序的时候,有可能
打进来电话发进来短信,或者没有电了,这时候程序都会被中断,优先去服务电话的基本功
能,另外系统也不允许你占用太多资源,至少要保证一些功能(比如电话),所以资源不足
的时候也就有可能被kill掉。
方法在系统中的作用及我们应该做什么:
onCreate(创建):在这里创建界面,做一些数据的初始化工作;
onStart(可视状态): 到这一步变成“用户可见不可交互”的状态;
onResume(可交互状态):变成和用户可交互的,(在Activity栈系统通过栈的方式管
理这些Activity,即当前Activity在栈的最上端,运行完弹出栈,则回到上一个Activity);
onPause(暂停状态):到这一步是可见但不可交互的,系统会停止动画等消耗CPU的
事情。从上文的描述已经知道,应该在这里保存你的一些数据,因为这个时候你的程序的优
先级降 低,有可能被系统收回。在这里保存的数据,应该在onResume
里读出来。
OnStop(停止状态):变得不可见 ,被下一个activity覆盖了。
onDestroy(杀死):这是Activity被kill前最后一个被调用方法了,可能是其他类调用
finish方法或者是系统为了节省空间将它暂时性的干掉。
onPause,onstop, onDestroy,三种状态下 activity都有可能被系统杀掉。
Activity栈:Activity以栈的形式进行管理,后进先出的原则
三、Activity之间的通信
在 Android 中,不同的 Activity 实例可能运行在一个进程中,也可能运行在不同的进
程中。因此我们需要一种特别的机制帮助我们在 Activity 之间传递消息。
Android 中通过 Intent 对象来表示一条消息,一个 Intent 对象不仅包含有这个消息的
目的地,还可以包含消息的内容,这好比一封 Email,其中不仅应该包含收件地址,还可以
包含具体的内容。
Intent是一种运行时绑定(runtime binding)机制
Intent负责对操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent
的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。因此,Intent
在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用
者之间的解耦。
在应用中,我们可以以两种形式来使用Intent:
直接Intent(应用程序内部):指定了component(组建)属性的Intent。通过指定具
体的组件类,通知应用启动对应的组件。
间接Intent(应用程序之间):没有指定comonent属性的Intent。这些Intent需要包


发布评论