Android四大组件之Activity

匆匆过客 提交于 2019-12-30 19:16:58

        Activity类呈现了一个封装了窗口显示处理功能的空白屏幕。一个空的Activity并不是特别有用,所以需要使用Fragment, 布局和视图来创建UI.

1. Activity的基本使用

        (1)要把UI分配给一个Activity,需要在onCreate方法中调用setContentView.

        (2)要在一个应用程序中使用一个Activity,需要在Manifest中对其进行注册。在Activity标签中可以添加intent-filter节点来指定能够用来启动该Activity的intent。

2. Activity栈

        Activity栈是当前所有正在运行的Activity的后进先出的集合。栈顶为当前可见的Activity.

3. Activity的状态

  •  活动状态:   Activity位于栈顶,可见且具有焦点。  Android会不惜一切代价来保持它处于活动状态并根据需要销毁下面部分的Activity.
  •  暂停状态:   Activity可见但是没有焦点。当一个透明或非全屏Activity位于该Activity之前时处于该状态。系统在极端情况下会终止暂停的Activity.
  •  停止状态:   Activity不可见。当系统其他地方要求使用内存时它们会成为被终止的首要候选对象。
  •  非活动状态:Activity被终止,已经从Activity栈中移除。

4. Activity状态改变监控

        onCrear               完整生命周期开始时调用,初始化一个Activity并填充UI

        onRestoreInstanceState (Bundle savedInstacvestate)        onCreare方法完成后调用,用于恢复UI状态,从savedInstacvestate中恢复数据,该Bundle同时也会传递给onCreate,自从上次Activity可见之后只有当Activity被系统终止时才会调用。

        onRestart             加载改变,知道Activity在此进程中已经可见。

        onStart                 Activity可见生存期开始时调用

        onResume            Activity状态生存期开始时调用,恢复Activity需要,当他处于不活动状态时被挂起的暂停的UI更新,线程或进程。

        onSaveInstanceState (Bundle savedInstanceState)           将UI线程改变保存到savedInstanceState,若进程运行时被终止并被重启,Bundle将被传递给onCreare和onRestoreInstanceState。

        onPause               Activity状态生存期结束时调用

        onStop                  Activity可见生存期结束时调用

        onDestroy            在完成生存期结束时调用

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!