Android基础知识& Android常用组件|青训营笔记

90 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第[1]天

1.界面组件 Activity

Activity是一个可视化的用用户界面,负责一个屏幕窗口,防止UI组件,供用户交互。加入我们打开一个引用,看到的整个屏幕就是一个Activity,当点击一个超链接,跳转到另一个界面,则又是一个新的Activity。系统采用栈的方式来管理Activity

  1. Activity形态 Activity最大的特点就是拥有多种形态,它可以在多种形态间镜进行切换,以此来控制自己的生命周期。

  2. Active/Running 这时候Activity处于Activity栈的最顶层,可见并于用户进行交互。

  3. PausedActivity失去焦点,被一个全新非全屏的Activity或者一个透明的Activity放置在栈顶时,Activity就转化为Pausde状态。但他只是失去了与用户交互的能力,所有信息、成员变量都还保持着,只有在系统内存极低的情况下,才会被系统回收掉。

  4. Stopped 如果一个Activity被另外一个Activity完全覆盖,那么Activity就会处于Stopped形态。那么不再是可见的,但他依然保持了所有状态信息和成员变量。

  5. KilledActivity被系统回收掉或者Activity从来没有创建过,Activity就会处于Killed形态

  6. Activity生命周期

1658990082656.png

    onCreate(): 创建时回调,一般这里面创建视图和绑定数据
    onStart(): 已启动,即将进入前台
    onResume(): 与用户开始交互,位于Activity栈顶
    onPause(): Actvity失去焦点或暂停,Activity界面部分可见,下一个生命周期是onResume()或onStop()
    onStop(): Activity不在可见,下一个回调是onStart()
    onRestart(): 重启已停止的Activity, 下一个回调是onStart()
    onDestory(): 销毁Actvity,释放该Activity的所有资源
    onSaveInstanceState(): 在非正常关闭时回调,用于保存数据,不支持持久化数据
    onRestoreInstanceState(): /onCreate(): 用户恢复数据

3.Activity启动模式

1.Standard: 默认模式,允许Activity重复

2.SingleTop: 栈顶复用,不允许Activity连续重复

3.SingleTask: 栈内复用,不允许栈内Activity重复

4.SingleInstance: 全局服用,系统全局不允许Activity重复