android周期,android生命周期有几种状态

android的生命周期

单个Actiivty正常的生命周期

创新互联建站是一家专注于网站制作、网站建设与策划设计,大化网站建设哪家好?创新互联建站做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:大化等地区。大化做网站价格咨询:18980820575

onCreate - onStart - onResume - onPause - onStop - onDestory

这就是一个Activity从被创建到被销毁过程。

其中正常运行状态为onResume

当Activity从前台被置于后台,

onResume - onPause - onStop

当从后台重新置于前台

onStop - onPause - onResatrt - onStart- onResume

其中可以发现,只要Activity置于前台都会执行onStart函数,所以我们可以考虑在这里做一下需要在前台就处理的逻辑

各个生命周期函数:

onCreate: Activity被创建,此时Activity处于不可见、不可交互

onStart: 此时Activity 部分可见不可交互

onRestart: Activity从后台重新回到前台,部分可见不可交互

onResume: 完全可见可交互,为Activity正常运行状态

onPause: Activity处于暂停,从前台被置于后台 部分可见部分不可见,不可交互

onStop: 完全置于后台,完全不可见,

onDestroy: Activity被销毁

上面就是一个正常的Activity的生命周期,

在Activity生命周期中,还设计一些其他:

Activity旋转:

onCreate - onStart - onResume

此时被旋转

- onPause - onSaveInstanceState - onStop - onDestroy - onCreate - onStart - onRestoreInstanceState - onResume

可以发现当Activity被旋转时,整个Activity是被销毁然后重新创建的。其中新增调用了两个生命周期函数

onSaveInstanceState: 当Activity被系统异常销毁时被调用,用于存储数据,用于系统恢复Activity时恢复数据

onRestoreInstanceState: 当Actiivty被系统异常销毁并重新创建时,取出在onSaveInstanceState时存储的数据

注意,在onCreate函数中,其实也是有参数的

此处的savedInstanceState也是在onSaveInstanceState时存储的数据,但此处可能为nll,

因为在正常的Activity时,此处就是null,只有在Activity被异常销毁然后被系统重新创建时,此处才有值。

如果要在此处使用,切记要判空。

onNewIntent与Activity的启动模式有关

当Activity未设置启动模式时,则不会触发该生命周期函数

当Activity已经处于应用的Activity栈中

onNewIntent只会在Activity设置了启动模式,并且Activity被复用时才会调起。

注意:只对startActivityForResult调起的Activity起作用,statActivity本质调用的也是startActivityForResult,Activity正常的切换前后台时不会触发的。

A - B:

A正常运行处于 onResume,打开B

A onPause - B onCreate - B onStart - B onResume - A onStop

点击跳入B页面, 首先A进入暂停,B开始创建,到onResume完全可见可交互,于是A被完全遮挡,变成完全不可见、处于后台,进入onStop

A - B -goBack- A

在B页再执行返回

B onPause - A onRestart - A onStart - A onResume - B Stop - B onDestory

和A进入B类似,B返回A时,B进入暂停,A变得重新可见到A完全可见,进入onResume,然后B进入停止,并销毁

B启动模式设置为 SingleTop,B - B

B onPause - B onNewIntent - B onResume

因为 B已经处于栈顶,启动模式为 SingleTop 则不会重新创建B的实例

将A的启动模式设置为SingleTask

可以通过在andorid studio的终端 Terminal中输入:adb shell dumpsys activity

查看当前应用的Activity task栈

Android基础之Activity生命周期

Activity是Android最常用的四大组件之一,Activity是Android应用中与用户交互的界面,通常一个activity就是一个屏幕,Activity一共有四种状态,Active/Running(当Activity可见且可以与用户交互);Paused(当Activity可见但是不可交互);Stoped(当Activity被完全覆盖不可见);Killed(当Activity被系统从内存中删除).其生命周期如下图:

相关方法及作用:

1 onCreate:当Activity创建时仅且调用一次,该方法主要适用于初始化页面。

2 onStart:当Activity调用onCreate方法之后,然后调用此方法开启Activity,Activty此时可见但不可交互。

3 onResume:此时Activity在前台可见且可与用户交互。适合做UI更新操作。

4 onPouse:当Activity被另外一个Activity覆盖时调用该方法。

5 onStop:当Activity在前台不可见或者Activity在销毁前调用此方法,此方法适合做一些资源的回收操作。

6 onDestroy:当activity被销毁时调用此方法。

问题:

1)onCreate 和 onStart 方法的区别

a.执行次数不同,onCreate只执行一次,而onStart可以执行多次。

b.在activity的状态不同,onCreate被调用时Activity的状态还是未可见,而调用onStart时已可见。

2) onStart 和 onStop的区别

在执行onStart或者onStop时,Activity都是不可交互的,执行onStart时Activity在前台不可见,在后台可见。而执行onStop时Activity前后台都不可见。

3)onResume 和 onPouse的区别

在执行onResume时,Activity在前台是可见的且可以与用户交互的。而执行onPouse时Activity在前台有可能可见,Activity没有获取到焦点,此时不可与用户交互。

android开发产品开发周期多久

产品的开发是长期的,是迭代的

每个迭代版本周期不等,有一周,有一个月的,也有可能更长

如果是单独的项目开发一般在1-6月之间吧。


网站栏目:android周期,android生命周期有几种状态
文章分享:http://scyanting.com/article/dsgppgi.html