什么是Activity?Activity的生命周期!

时间:2022-04-25 14:44:02

刚刚接触安卓,水平不高但是凭自己的坚持相信能有一个不错的结果,努力一把,趁着年轻逼自己学点东西,贴贴微博希望能得到大家鼓励,share make us better,加油年轻人!!

从头开始,说说Activity,坚持所有文字都自己敲,水平有限错误在所难免,各位见谅。本篇讨论的是Activity:

  • 什么是Activity
  • Activity基本内容

什么是Activity

Activity是安卓四大组件之一(还有Service、BroadcastReceiver、ContentProvider),既然能排四大自然有过人之处。第一印象它是一个用于交互的系统模块,用户显示视图View。这个有点像MVC的结构,下面看一眼MVC

  • M(Model 模型)这个放底层逻辑,放业务逻辑,比如和数据库的通信,比如业务逻辑。
  • V(View 视图)Android里视图呈现主要是xml文件,也有网页呈现,无论哪个View层放的就是用户看得见摸得着的东西
  • C(controller 控制器)控制层涉及到的就是Activity,它(C)负责联系视图(V)和模型(M),一般建议不要在Activity中写太多代码,尽量交给逻辑层处理。

    所以安卓里Activity主要是做控制的,通过显示视图,从视图里拿数据给模型,最后显示出处理的结果。

Activity基本内容

Activity基本内容就是生命周期,首先得盗图from google 官方文档

什么是Activity?Activity的生命周期!

这里包括4个状态7个方法

先说4个状态:

  1. 活动状态,这个没啥说的就是你在操作的界面(得把装13的说法敲上:当前的Activity,位于Activity栈顶,用户可见并且可以获得焦点)
  2. 暂停状态,比如弹一个透明的Activity时候(失去焦点的Activity,仍然可见,在内存低的情况下不能被系统kill掉)
  3. 停止状态,比如程序打开了但是又干别的了(被其他Activity所覆盖,不可见但是保存所有的状态和信息,内存低的时候被Kill)
  4. 销毁状态,Activity结束

7个方法:

  1. onCreate初始化的地方,所以这个一定会重写。
  2. onStart启动时被回调,也就是Activity变为显示时被回调。
  3. onRestart在onStart以后会执行。
  4. onPause暂停时候被回调,这个方法需要比较快的执行因为执行完这个方法之后下一个Activity才会被恢复,一般用于持久保存数据,比如打游戏时候来电话,看小说时关闭。
  5. onResume恢复为活动状态时候调用,调用该方法后Activity位于栈的栈顶。
  6. onStop
  7. onDestory
    所以可以看出onCreate和onPause方法最重要。