美文网首页
Activity初识

Activity初识

作者: wildeyess | 来源:发表于2019-11-21 17:24 被阅读0次

    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返回的数据。

    相关文章

      网友评论

          本文标题:Activity初识

          本文链接:https://www.haomeiwen.com/subject/ukgxlqtx.html