Activity

活动状态:

   运行状态:

            活动位于栈顶,用户可见。

   暂停状态:

           活动不在栈顶,但是依然可见。内存低的时候,不能被系统杀死。

   停止状态:

          活动不在栈顶而且完全不可见,它依然保存所有的状态和信息,内存底的时候它会被系统杀死。

   销毁状态:

          活动在返回栈中被移除就变成了销毁状态。

回调方法:

    onCreate():

         创建Activity是被回调。

    onStar():

        启动Activity时被回调。也就是当一个ACtivity变为显示时被回调。

    onRestart():

        重新启动Activity时被调用,该方法总是在onStart()方法之后执行。

    onPause():

        暂停Activity时被回调,该方法需要快速执行,因为直到该方法执行完之后,下一个Activity才能恢复。该方法通常用于持久化保存数据。

    onResume():

        当Activity由暂停状态恢复为活动状态时调用。调用该方法后,该Activity位于栈顶。总是在onPause()方法之后执行。

   onStop():

        停止Activity时回调

   onDestroy():

        销毁Activity时回调

生命周期:

    完整生存期:

         从onCreate()到onDestroy()之间经历的。一般在onCreate()方法里完成各种初始化操作,在onDestroy()释放内存。

    可见生存期:

        从onStart()方法到onStop()方法之间。在可见生存期之间,活动对于用户总是可见的,即使有可能无法对用户进行交互。onStart()对资源进行加载,onStop()对资源进行释放。

    前台生存期:

         在onResume()方法和onPause()方法之间。前台生存期中,活动总是处于运行状态,此时的活动时可以和用户进行交互的。 

1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。

启动模式:

系统标准模式:standard

  启动一个activity就创建一个activity实例,不管这个实例是否存在于返回栈中,谁启动了这个Activity.

栈顶复用模式:singleTop

  在活动启动时候,发现返回栈得栈顶已经是该活动,则直接使用它,而不是创建新的活动实例。

栈内复用模式:singleTask

  启动活动之前会在返回栈里检查是否存在该活动实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动出栈,如果没有发现就会创建一个新的活动实例。

单实例模式:singleInstance

   它除了具有singleTask模式的所有特性外,还加强了一点,那就是具有此种模式的Activity只能单独位于一个任务栈中,比如Activity A是singleInstance模式,A被启动时系统会为它创建一个新的任务栈,A运行在这个单独的任务栈中,后续的请求均不会再创建A,除非这个单独的任务栈被系统销毁了。

   具有单实例模式的活动可以被其他应用程序公用。

https://blog.csdn.net/clandellen/article/details/79257489

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值