admin

activity生命周期心得,activity生命周期图

admin 感悟评价 2024-05-29 44浏览 0

Activity的生命周期及常见回调顺序

在Activity被销毁之前会回调该方法,这也是Activity生命周期的最后一个回调。

activity主要生命周期的方法说明: onCreate(Bundle savedInstanceState):创建activity时调用。设置在该方法中,还以Bundle的形式提供对以前储存的任何状态的访问!onStart():activity变为在屏幕上对用户可见时调用。

onCreate:当Activity创建时仅且调用一次,该方法主要适用于初始化页面。2 onStart:当Activity调用onCreate方法之后,然后调用此方法开启Activity,Activty此时可见但不可交互。3 onResume:此时Activity在前台可见且可与用户交互。适合做UI更新操作。4 onPouse:当Activity被另外一个Activity覆盖时调用该方法。

onCreate():当activity第一次被创建的时候调用。onStart():当activity变成用户可见的时候调用。onResume():当界面获取焦点的时候调用。onPause():当界面失去焦点的时候调用。onStop():当界面不可见的时候调用 onRestart():当Activity重新启动时调用。onDestroy():当activity被销毁的时候调用。

活动生命周期的每个阶段都对应于金字塔的一个步骤。当系统创建一个新的Activity实例时,回调方法从塔的底部一级一级地移动到塔的顶部。当它位于金字塔的顶部时,活动位于用户的前台,此时用户可以与活动进行交互。当用户想要离开活动时,系统调用另一系列方法将活动的状态从顶部移到底部。

当Activity可见且获得用户焦点能交互时系统会调用 onPostResume() activity真正获取焦点之后回调,此方法在onResume()方法之后 - 通常用不到 onAttachedToWindow() 在第一次调用onDraw前调用的,也就是我们写的View在没有绘制出来时调用的,但只会调用一次。

Activity与Fragment的生命周期详解

Fragment的生命周期初探:因为Fragment必须嵌入在Acitivity中使用,所以Fragment的生命周期和它所在的Activity是密切相关的。如果Activity是暂停状态,其中所有的Fragment都是暂停状态;如果Activity是stopped状态,这个Activity中所有的Fragment都不能被启动;如果Activity被销毁,那么它其中的所有Fragment都会被销毁。

Fragment的生命周期是寄托到Activity中,Fragment可以被Attach添加和Detach释放。Fragments是view controllers,它们包含可测试的,解耦的业务逻辑块,由于Fragments是构建在views之上的,而views很容易实现动画效果,因此Fragments在屏幕切换时具有更好的控制。

相信大家都用过ViewPager+Fragment,由于ViewPager的缓存机制,每次都会加载3 页。例如:有四个 fragment 当滑动到第四页的时候 第一页执行onDestroyView(),但没有 执行onDestroy。他依然和activity关联。当在滑动到第一页的时候又执行了 onCreateView()。 生命周期可以自己试一下。那么问题来了。

Fragment是android0引入的新控件,果应用使用在0以下、6及以上的版本,需要引入v4包。 Fragment支持在不同的Activity中使用并且可以处理自己的输入事件以及生命周期方法等。

如何在android面试中把Activity的生命周期说的很有逼格

Activity生命周期的终点。有两种情况会导致它被触发:1)执行了Activity#finish()方法;2)Android系统由于资源不足等原因决定杀掉Activity所在进程。通过isFinishing()方法可以判断出是哪种情况。在这个方法里,我们一般要做的事情是释放Activity占有的资源,例如后台正在进行的下载线程等等。

在Activity生命周期中,系统调用App生命周期中设置的回调方法,这些生命周期回调方法在第一层就像一个金字塔。活动生命周期的每个阶段都对应于金字塔的一个步骤。当系统创建一个新的Activity实例时,回调方法从塔的底部一级一级地移动到塔的顶部。

onCreate:当Activity创建时仅且调用一次,该方法主要适用于初始化页面。2 onStart:当Activity调用onCreate方法之后,然后调用此方法开启Activity,Activty此时可见但不可交互。3 onResume:此时Activity在前台可见且可与用户交互。适合做UI更新操作。4 onPouse:当Activity被另外一个Activity覆盖时调用该方法。

Activity详解(二)——异常情况下的生命周期分析

在默认情况下,如果我们的Activity不做特殊处理,那么当系统配置发生改变后,Activity就会被销毁并重新创建,其生命周期如下图:当系统配置发生改变后,Activity会被销毁,其onPause,onStop,onDestroy均会被调用,由于Activity是在异常情况下终止的,系统会调用onSaveInstanceState来保存当前Activity的状态。

通过上述图示,我们可以总结Activity的生命周期规律如下:启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。

Activity生命周期的终点。有两种情况会导致它被触发:1)执行了Activity#finish()方法;2)Android系统由于资源不足等原因决定杀掉Activity所在进程。通过isFinishing()方法可以判断出是哪种情况。在这个方法里,我们一般要做的事情是释放Activity占有的资源,例如后台正在进行的下载线程等等。

版权声明

本文仅代表作者观点,不代表B5编程立场。
本文系作者授权发表,未经许可,不得转载。

继续浏览有关 activity生命周期心得 的文章