2.1基础知识-Activity

Activity详解

    1.activity生命周期

    2.android任务栈

    3.activity启动模式

    4.scheme跳转协议

一.activity生命周期

什么是Activity,日常应用中,android是用户交互的接口,提供了界面,让用户进行点击,各种滑动操作。

    1.Activity的4种状态

    2.activity生命周期分析

    3.android进程优先级

1.Activity的4种状态

    1.running(处于活动状态,点击屏幕有响应,栈顶状态,可以点击)

    2.paused(失去焦点,或者被一个非全屏的,或者透明的Activity放在栈顶,Activity只是失去了与用户的交互能力,并没有被销毁,所有信息和成员变量都存在)

    3.stopped(被完全覆盖,内存不紧张情况下所有信息都存在)

    4.killed状态

2.activity生命周期分析


    1.Activity启动->onCreate()->onStart()->onResume()

        创建Activity时重写onCreate:setContentView设置布局资源,图片预加载

        onStart:Activity已经处于用户可见的状态,用户无法触摸,还不能给用于进行交互(看见无法触摸)

        onResume:被调用时表明Activity可见了,用户可以触摸、滑动点击等等

    2.点击Home键返回主界面(Activity不可见)->onPause()->onStop()

        onPause:该方法被回调时,表明Activity处于停止状态(可见不可触摸,当前Activity被退至后台)

        onStop:Activity被完全停止,或者完全被覆盖,完全不可见,处于后台运行(手机内存吃紧时可能被回收掉)

    3.当我们再次回到原Activity时->onReStart()->onStart()->onResume()

        onRestart:表示Activity正在重新启动,正在由不可见状态变成可见状态

        onStart:可见

        onResume:可操作,触摸

    4.退出当前Activity时->onPause->onStop->onDestroy

        onDestroy:表明当前Activity正在被销毁,做一个回收工作,资源释放

3.android进程优先级

    前台、可见、服务、后台、空

    前台进程;1.处于与用户交互的Activity,2.前台Activity绑定的Service

    可见进程:1.Activity属于可见但不可点击

    服务进程:1.开启了一个服务

    后台进程:1.Activity按了home键,后台进程不会立马被kill掉

    空进程:  1.进程不属于前四种,没有活跃的组件,为了缓存而存在的组件

二.android任务栈


栈:后进先出

三.启动模式:

    1.standard(每次重新创建一个新的Activity实例,添加到任务栈中) 都会走相应的生命周期方法(消耗资源,消耗内存)

    2.singleTop(栈顶复用模式):判断任务栈中栈顶是否有将要创建的Activity,走onNewIntent方法

    3.singleTask(栈内复用模式,单例模式):整个任务栈中是否有对应的Activity,

    onNewIntent会走方法,会将该Activity栈以上的Activity全部移除

    4.singleInstance模式:单例,整个应用只有一个

四.scheme跳转协议

    1.android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;

    2.通过scheme协议,

        1.服务器可以定制化告诉App跳转哪个页面(也可跳转到其他app的页面)

        2.可以通过通知栏消息定制化跳转页面

        3.可以通过H5页面跳转页面等(向H5注册一个UrlScheme,用于在浏览器中启动)

你可能感兴趣的:(2.1基础知识-Activity)