Android Activity中onStart()和onResume()的区别分析
本文分析了AndroidActivity中onStart()和onResume()的区别。分享给大家供大家参考,具体如下:
首先你要知道Activity的四种状态:
①Active/Runing一个新Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。
②Paused当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。
③oped当Activity被另外一个Activity覆盖、失去焦点并不可见时处于Stoped状态。
④KilledActivity被系统杀死回收或者没有被启动时处于Killed状态。
分析:
protectedvoidonStart()该方法在onCreate()方法之后被调用,或者在Activity从Stop状态转换为Active状态时被调用,一般执行了onStart()后就执行onResume()。
protectedvoidonResume()在Activity从Pause状态转换到Active状态时被调用。
onResume是activity获得用户焦点,在与用户交互
onStart是activity用户可见,包括有一个activity在他上面,但没有将它完全覆盖,用户可以看到部分activity但不能与它交互。
补充:AndroidActivity中的六个主要函数
Android中一个Activity一般都需要实现六个函数:
onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy().
1.onCreate函数:注册你要用到的变量,比如说service,receiver,这些变量是无论你的Activity是在前台还是在后台都能够被响应到的,然后调用上面那个用来初始化的函数初始化布局信息。
2.onStart函数:注册一些变量。这些变量必须在AndroidActivity类在前台的时候才能够被响应。
3.onResume函数:调用一些刷新UI的函数,每当Activity调用到这里时就要刷新一下UI各控件的状态。
4.onPause函数:一般是做一些变量的设置,因为这个时候Activity马上就要切到后台处理,可能有些变量就要被释放掉或者状态要做些相应的调整。
5.onStop函数:反注册在onStart函数中注册的变量。
6.onDestory函数:反注册在onCreate函数中注册的变量。
在Android-Hello中,
publicclassUbiLrnActivityextendsActivity{ /**Calledwhentheactivityisfirstcreated.*/ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
首先,声明了一个onCreate函数,这个函数的传入参数是savedInstanceState.型别是Bundle,Bundle是一个数据参数,一般用于Activity之间的数据传送。onCreate()的参数都是Bundle类的。
super.onCreate表示的是调用父类onCreate。
setContentView(R.layout.main)表示的是通过加载main.xml来加载系统的resource.
更多关于AndroidActivity相关内容感兴趣的读者可查看本站专题:《Android编程之activity操作技巧总结》
希望本文所述对大家Android程序设计有所帮助。