1.定义:是Context的子类,同时实现了window.callback和keyevent.callback,用来处理窗体和用户的交互的事件,基本上一个交互页面对应一个Activity。
2.生命周期:
oncreat()-onstart()-onResume()-onPause()-onStop()-onDestory() ;;onRestart
3.四种状态
running:当前处于栈顶并显示于界面,可与用户交互
onPauseed:页面用户可见状态,但是页面没有焦点,无法与用户交互
stoped:界面不可见,无法交互,完全覆盖
killed:界面被销毁等待系统回收
4.数据传递
intent 广播 Content provider 静态变量 File文件存取
5,Context ,Activity ,Application区别
相同点:后俩者是前者的子类,都市承载着连接上下文的作用,方便开发贯穿数据调用
不同点:维持的生命周期不同。Context是当前Activity的生命周期,Application维护的是整个项目的生命周期。为了准确的使用防止内存泄漏对于生命周期长的用Application和Context,短期则用Activity的Context
6.保存Activity的状态
1.onSaveInstanceState()接收一个Bundle类型的参数在onCreated的时候再次获取对其获取进行恢复
2.如果需要销毁或者指定情况保存数据状态,可选择将其存储在本地文件中,然后再页面展示的时候进行判断获取赋值
7.横竖屏切换
不设置 Activity 的 android:configChanges 时,切屏会重新调用各个生命周期默认首先销毁当前activity,然后重新加载。
设置 Activity的android:configChanges="orientation|keyboardHidden|screenSize"时,切屏不会重新调用各个生命周期,只会执行 onConfigurationChanged 方法。
根据需求进行不同的处理
8.Activity,Window,View三者的关系
Activity:四大组件之一,负责界面的展示与用户的交互
Window:类似与Activity的下级,Activity方法和业务的处理
View:是存在window容器的元素,Window是View的载体,View是Window的展示
Android通过Window来实现视图元素的展示。Window可以理解为一个容器,放着一个个的View,来执行具体的展示工作
9.四种启动模式
standard:默认的启动模式,依次栈顶增加
singleTop:位于栈顶则不重新创建,不在则调用onNewIntent()重新创建
singleTask:始终只存在一个对象
singleinstance:具备singleTask的特性,不同点在于存在于一个单独的任务栈
10.Activity的自动启动
1.资源相关的系统配置发生改变导致Activity被重新创建
2.系统内存不足导致优先级低的Activity被杀死