Activity
一、创建Activity
最重要的两个回调方法:
onCreate():
系统会在创建Activity调用此方法,初始化必要组件。必须调用setContentView(),以定义Activity用户界面的布局。
使用setContentView(View view) 默认是MATCH_PARENT充满整个父布局。也可以使用setContentView(view,layoutParams)来定义。
onPause():
系统将此方法作为用户离开 Activity 的第一个信号(但并不总是意味着 Activity 会被销毁)进行调用。 通常应该在此方法内确认在当前用户会话结束后仍然有效的任何更改(因为用户可能不会返回)。
在清单中声明Activity
AndroidManifest.xml文件中,其中android:name是唯一必须的属性。
各个元素功能:https://developer.android.com/guide/topics/manifest/activity-element
二、启动Activtiy
startActivity()或startActivityForResult()
要想在随后收到后续 Activity 的结果,请实现 onActivityResult() 回调方法。
三、管理Activity生命周期
继续(运行中):
此 Activity 位于屏幕前台并具有用户焦点。
暂停:
另一个 Activity 位于屏幕前台并具有用户焦点,但此 Activity 仍可见。也就是说,另一个 Activity 显示在此 Activity 上方,并且该 Activity 部分透明或未覆盖整个屏幕。 暂停的 Activity 处于完全活动状态(Activity 对象保留在内存中,它保留了所有状态和成员信息,并与窗口管理器保持连接),但在内存极度不足的情况下,可能会被系统终止。
停止:
该 Activity 被另一个 Activity 完全遮盖(该 Activity 目前位于“后台”)。 已停止的 Activity 同样仍处于活动状态(Activity 对象保留在内存中,它保留了所有状态和成员信息,但未与窗口管理器连接)。 不过,它对用户不再可见,在他处需要内存时可能会被系统终止。
如果 Activity 处于暂停或停止状态,系统可通过要求其结束(调用其 finish() 方法)或直接终止其进程,将其从内存中删除。(将其结束或终止后)再次打开 Activity 时,必须重建。
onCreate():The activity is being created.
onStart():The activity is about to become visible.
onResume(): The activity has become visible
onPause():Another activity is taking focus
onStop(): The activity is no longer visible
onDestroy():The activity is about to be destroyed.
在实现这些生命周期方法时必须始终先调用超类实现,然后再执行任何操作。
Activity整个生命周期发生在onCreate()和onDestory()调用之间
Activity可见生命周期发生在onStart()调用与onStop()调用之间
Activity的前台生命周期发生在onResume()调用与onPause()之间
由于 onSaveInstanceState() 的默认实现有助于保存 UI 的状态,因此如果为了保存更多状态信息而替换该方法,应始终先调用 onSaveInstanceState() 的超类实现,然后再执行任何操作。 同样,如果替换 onRestoreInstanceState() 方法,也应调用它的超类实现,以便默认实现能够恢复视图状态。