Android Activity的生命周期与加载模式是什么


这篇文章主要介绍了AndroidActivity的生命周期与加载模式是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇AndroidActivity的生命周期与加载模式是什么文章都会有所收获,下面我们一起来看看吧。Activity是安卓应用的重要组成单元之一,其对于安卓的作用类似于Servlet对于Web应用的作用。整个Activity生命周期的图解如下具体的生命周期可以总结成如下几个步骤onCreate():Activity启动后第一个被调用的函数,常用来进行Activity的初始化,如创建View,绑定数据和恢复数据。onStart():当Activ免费云主机域名ity显示在屏幕上时,函数被调用。onRestart():Activity从停止状态进入活动状态是调用。onResume():Activity可以接受用户输入时,该函数被调用,此时的activity位于activity栈的栈顶。onPause():当Activity进入暂停状态时,该函数被调用,一般用来保存持久的数据或释放占用的资源。onStop():当Activity变为不可见后,该函数被调用,Activity进入停止状态。onDestroy():在Activity被终止前,被调用。归纳起来,Activity大概会经历四种状态运行状态:当前Activity位于前台,用户可见,可以获得焦点暂停状态:其他Activity位于前台,该Activity依然可见,只是不能获得焦点停止状态:该Activity不可见,失去焦点销毁状态:该Activity结束,或Activity所在的进程被结束我们使用给一个程序来看一下看一下Activity的生命周期。程序非常简单,就是定义两个Activity,分别命名为FirstActivity和SecondActivity,先从FirstActivity跳转到SecondActivity,然后再在SecondActivity销毁该Activity,最后销毁FirstActivity最后得到的日志信息如下所示,我们过滤了其他日志,只保留FirstActivity的日志Activity一共有四种加载模式standard:标准模式,这是默认的加载模式singleTop:Task栈顶单例模式singleTask:Task内单例模式singleInstance:全局单例模式安卓采用Task来管理多个Activity,当我们启动应用的时候,安卓就会位置创建一个Task,然后启动这个引用的入口Activity,(即中配置为MAIN和LAUNCHER的Activity)。我们可以将Task简单理解成存放Activity的栈,先加载的Activity位于栈底,后加载的Activity位于栈顶。Activity的加载模式就是按照什么样的方式去实例化,加载Activity,并且控制Activity和Task之间的关系。standard模式当我们通过standard模式启动Activity的时候,每次都会创建一个新的Activity示例放置到栈顶。当我们在配置Activity时没有指定加载模式的时候,采用的就是standard模式。singleTop模式这种模式与standard模式基本相同,唯一不同的就是,当要启动的Activity已经位于栈顶的时候不会创建一个新的实例,而是复用已有的实例。如果我们的目标Activity不位于栈顶,那么还是会创建一个新的实例,这一点和standard模式是一样的。singleTask模式采用singleTask模式的Activity在同一个Task中只有一个实例,当系统采用singleTask模式启动目标Activity的时候,可分为如下三种情况如果要启动的Activity实例不存在,系统会创建一个实例,并且将其置于栈顶如果要启动的Activity实例位于栈顶,此时的操作与singleTop模式相同如果要启动的Activity实例存在于栈中,但是没有位于栈顶,那么系统就会将该Activity上的所有Activity移出Task栈,从而使目标Activity转入栈顶singleInstance模式在这种加载模式下,系统保证无论从哪个Task中启动目标Activity,只会创建一个目标Activity实例,并会使用一个全新的Task栈来加载该Activity实例。当系统采用singleInstance模式启动目标Activity时,可分为如下两种情况如果要启动的目标Activity不存在,系统会创建一个全新的Task,再创建目标Activity的实例,并将它加入到新的Task栈顶如果要启动的目标Activity已经存在,无论它位于哪个应用程序中,位于哪个Task中,系统都会把该Activity所在的Task转到前台,从而使该Activity显示出来。关于“AndroidActivity的生命周期与加载模式是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“AndroidActivity的生命周期与加载模式是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: Android ButterKnife依赖注入框架如何使用

这篇文章主要介绍“AndroidButterKnife依赖注入框架如何使用”,在日常操作中,相信很多人在AndroidButterKnife依赖注入框架如何使用问题上存在疑惑,小编查阅了各式资料,整理出免费云主机域名简单好用的操作方法,希望对大家解答”Andr…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/16 10:56
Next 05/16 10:56

相关推荐