Activity初识

Activity初识之生命周期

image.png

Activity生命周期有七个节点,

  1. onCreate( ): activity启动调用的第1个方法,整个activity的生命周期只调用一次,一般做activity的各种初始化操作,与onDestory对应。
  2. onstart( ):activity启动调用的第2个方法,表示activity处于可见,但没有位于前台,用户无法操作。与onStop对应。
  3. onResume():activity启动调用的第3个方法,表示activity位于前台,用户可操作,与onpause对应。
  4. onPause():activity启动调用的第4个方法,表示activity不位于前台准备停止,但是可见的,比如popwindow,或dialog弹出屏幕,此时的activity是可见的,但无法操作,尽量少的做操作,这个方法调用后,新activity的onResume才能调用
  5. onStop():activity启动调用的第5个方法,表示activity即将停止,已经不可见,可以做少量回收工作。
  6. onDestory():activity启动调用的第6个方法,表示activity已经被销毁,activity什么周期调用的最后一个方法同onCreate一样只调用一次。
  7. onRestart():activity启动调用的第7个方法,表示activity位于onStop状态的重新位于栈顶。

Activity生命周期的对应关系

oncreate与ondestroy 创造与毁灭
onstart与onstop 开始与暂停
onresume与ondestroy 可见于不可见
onrestart 孤独的重新开始

Activity的管理

activityTask:任务桟的管理模式 先进后出 ,压桟,出栈。位于当前任务桟,栈顶的activity。当点击返回键时,栈顶activity则被弹出,下方的activity升到栈顶,此为出栈,
压桟:位于当前任务桟,栈顶的activity A。当点击跳转另一个activity B,该A位置下移,B位于栈顶,此为压桟。
出栈:位于当前任务桟,栈顶的activity B。当点击返回键时,B被弹出,下方的A升到栈顶,此为出栈。
草图示意:


image.png

Activity的启动方式(4种)

1.standard (标准模式,默认的模式) ,理解为任何跳转到该模式下的activity都会创建一个新的activity对象。
2.singleTop(栈顶复用) 当前activity已经位于栈顶,则跳转时不新建实例,直接复用。
3.singTask(栈内复用) 当前任务桟内已存在改activity,不创建实例,直接复用,使用出栈的方式,将他上方的activity弹出该任务桟。位于栈顶并显示。
4.singInstence (单例模式) 全局唯一实例,并且单独位于一个任务栈内。所以在没有使用singleinstence的默认情况下,应用内只会存在一个任务桟。
任务桟与启动方式的合理下才构成一个完整的activity管理方式。

我接触的Activity

1.在oncreate方法中进行各种初始化操作。参数,view,匿名监听事件等。
2.绝大多数时在oncreate中进行网络请求获取数据。
3.少数时候会在onstart中进行网络请求获取数据。需要频繁的刷新数据状态。
4.在ondestory中进行资源的释放。避免内存泄露的风险,比如一些db,custor,player等资源。还可以对使用到的大的变量资源进行回收,比如List变量,bitmap等。
5.在onActivityResult 方法中获取到跳转activity返回的数据。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容