最近看了一下Android,只看书不总结一下,总感觉东西并没有放在脑子里,人过留名,雁过留声,遂写下这篇总结。
书本看的是《Android编程兵书》,但这篇总结的大纲是按照《第一行代码》的章节目录撰写的。两本书的内容结构大致相同,Android入门的话只看其中一本就够了。
Acitivity是什么?
通俗的说,一个Acitivity就是应用程序中的一个界面。通过该界面用户和应用程序交互。
Activity的使用
一个新的Activity需要在AndroidManifest.xml中声明。作为程序启动界面的Activity需要设置itent-filter的action和category。常规的一个activity的声明如下
<activity android:name="main_activity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
Activity的状态
Activity共有四种状态:运行状态、暂停状态、停止状态、销毁状态。
运行状态就是目前和用户进行交互的Actvity所处的状态
暂停状态是活动不在栈顶但仍然可见时的状态。当APP弹出对话框时对话框是处于活动状态,背后那个不能和用户交互但又部分可见的Activity就是处于暂停状态。
停止状态是Activity不在栈顶又完全不可见的时候所处的状态。
销毁状态是一个Activity从栈顶移除后所处的状态。
Activity的生命周期
有七个回调方法来改变Activity的声明周期
onCreate():第一次被创建时调用,在该函数中加载布局,绑定事件
onStart():Activity由不可见变为可见的时候调用
onResume():Activity准备好和用户进行交互的时候调用。此时的活动一定位于返回栈的顶端且处于运行状态。
onPause():系统准备启动或恢复另一个Activity的时候调用,该方法中释放消耗CPU的资源,保存一些关键数据。执行速度要快,否则影响新的栈顶Activity的使用
onStop():Activity完全不可见的时候调用
onDestory():被销毁时调用
onRestart():重新启动
可分为三种生存期
完整生存期:onCreate()和onDestory()之间所经历的
可见生存期:onStart()和onStop()之间所经历的
前台生存期:onResume()和onPause()之间
Activity的启动模式
1、standard:默认的启动模式,使用该模式启动,系统不会在乎这个activity是否已经在返回栈中存在,每次启动都会创建该activity的实例。
2、singleTop:启动时若发现栈顶已经是该activity,则认为可以直接使用,不再创建新实例。
3、singleTask:启动时检查栈中是否存在该实例,若存在,使用该实例,否则创建新实例。
4、singleInstance:使用该模式启动,启用一个新的返回栈来管理这个活动
Tips:
1、活动被回收了怎么办?
activity提供了一个onSaveInstanceState(),该方法在活动被回收之前调用,可以解决被回收时临时数据得不到保存的问题。恢复数据在onCreate()方法中,该方法默认有个Bundle参数。
2、知道当前是在哪一个activity
getClass().getSimpleName();
3、随时随地退出程序
使用一个专门的集合类对所有的activity进行管理。
4、启动活动的最佳写法。
在待启动的activity中添加一个公共静态方法,供启动这个activity的类使用。优点:传递的参数清晰明了
网友评论