网站建设资讯

NEWS

网站建设资讯

Android基础(一)-Activity生命周期-创新互联


activity类处于android.app包中,继承体系如下: java.lang.Object -> android.content.Context  -> android.app.ApplicationContext ->android.app.Activity

成都创新互联从2013年成立,是专业互联网技术服务公司,拥有项目成都网站设计、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元怀远做网站,已为上家服务,为怀远各地企业和个人服务,联系电话:18982081108

4大状态:

Running状态:一个新的Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。 Paused状态:当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,它仍然可见,但它已经失去了焦点,故不可与用户交互。 Stopped状态:当Activity不可见时,Activity处于Stopped状态。当Activity处于此状态时,一定要保存当前数据和当前的UI状态,否则一旦Activity退出或关闭时,当前的数据和UI状态就丢失了。 Killed状态:Activity被杀掉以后或者被启动以前,处于Killed状态。这是Activity已从Activity堆栈中移除,需要重新启动才可以显示和使用。

其中,Running状态和Paused状态是可见的,Stopped状态和Killed状态时不可见的。

七大生命周期函数:

1.onCreate()  // 在Activity生命周期开始时被调用

2.onRestart() //当activity从停止状态重新启动时调用

3.onStart() //当activity对用户即将可见的时候调用。

4.onResume() //当activity将要与用户交互时调用此方法,此时activity在activity栈的栈顶,用户输入已经 可以传递给它

5.onPause()// 当系统要启动一个其他的activity时调用(其他的activity显示之前),这个方法被用来提交那些持久数据的改变、停止动画、和其他占用CPU资源的东西。由于下一个activity在这个方法返回之前不会resumed,所以实现这个方法时代码执行要尽可能快。

6.onStop()// 当另外一个activity恢复并遮盖住此activity,导致其对用户不再可见时调用。一个新activity启动、其它activity被切换至前景、当前activity被销毁时都会发生这种场景。

7.onDestroy() // 在activity被销毁前所调用的最后一个方法,当进程终止时会出现这种情况

如图:

Android基础(一)  - Activity生命周期

几个特殊需要注意生命周期示例

1.父Activity启动子Activity,子Actvity退出,父Activity调用顺序如下

onCreate() -> A

onStart()  -> A

onResume()  ->A

onFreeze() -> A

onPause() -> A

onCreate() -> B

onStart()  -> B

onResume()  ->B

onStop()  -> A  (A OnStop是在B”可操作”后执行)

onDestory ->A (Maybe)

2.用户点击Home,Actvity调用顺序如下

onCreate()

onStart()

onResume()

onFreeze()

onPause()

onStop() — Maybe

onDestroy() – Maybe

3.在父Activity上显示透明的或非全屏的activity,Activity调用顺序如下:

onCreate()

onStart()

onResume()

onFreeze()

onPause()

4.设备进入睡眠状态,Activity调用顺序如下:

onCreate()

onStart()

onResume()

onFreeze()

onPause()

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:Android基础(一)-Activity生命周期-创新互联
URL分享:http://cdweb.net/article/cdsedj.html