时间:2021-05-21
本文分析了Android Activity中onStart()和onResume()的区别。分享给大家供大家参考,具体如下:
首先你要知道Activity的四种状态:
① Active/Runing 一个新 Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。
② Paused 当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。
③ oped 当 Activity 被另外一个 Activity 覆盖、失去焦点并不可见时处于 Stoped 状态。
④ Killed Activity 被系统杀死回收或者没有被启动时处于 Killed 状态。
分析:
protected void onStart() 该方法在 onCreate() 方法之后被调用,或者在 Activity 从 Stop 状态转换为 Active 状态时被调用,一般执行了onStart()后就执行onResume()。
protected void onResume() 在 Activity 从 Pause 状态转换到 Active 状态时被调用。
onResume是activity获得用户焦点,在与用户交互
onStart是activity用户可见,包括有一个activity在他上面,但没有将它完全覆盖,用户可以看到部分activity但不能与它交互。
补充:Android Activity中的六个主要函数
Android中一个Activity一般都需要实现六个函数:
onCreate(), onStart(), onResume(),onPause(),onStop(),onDestroy().
1. onCreate函数:注册你要用到的变量,比如说service,receiver,这些变量是无论你的Activity是在前台还是在后台都能够被响应到的,然后调用上面那个用来初始化的函数初始化布局信息。
2. onStart函数:注册一些变量。这些变量必须在Android Activity类在前台的时候才能够被响应。
3. onResume函数:调用一些刷新UI的函数,每当Activity调用到这里时就要刷新一下UI各控件的状态。
4. onPause函数:一般是做一些变量的设置,因为这个时候Activity马上就要切到后台处理,可能有些变量就要被释放掉或者状态要做些相应的调整。
5. onStop函数:反注册在onStart函数中注册的变量。
6. onDestory函数:反注册在onCreate函数中注册的变量。
在Android-Hello中,
public class UbiLrnActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }}首先,声明了一个onCreate函数,这个函数的传入参数是savedInstanceState.型别是Bundle,Bundle是一个数据参数,一般用于Activity之间的数据传送。onCreate()的参数都是Bundle类的。
super.onCreate表示的是调用父类onCreate。
setContentView(R.layout.main)表示的是通过加载main.xml来加载系统的resource.
更多关于Android Activity相关内容感兴趣的读者可查看本站专题:《Android编程之activity操作技巧总结》
希望本文所述对大家Android程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1、新建一个Activity,并把各个生命周期打印出来2、运行Activity,得到如下信息onCreate-->onStart-->onResume-->3、
《Android开发艺术探索》笔记:在Activity的onCreate()或者onResume()中去获得View的高度的时候不能正确获得宽度和高度信息,这是
本文实例分析了Android的Activity加载方式。分享给大家供大家参考,具体如下:前面分析过Android中activity的加载方式(参考前面一篇《An
强制竖屏设置1.代码在Activity的onResume方法中添加如下代码@OverrideprotectedvoidonResume(){/***设置为横屏*
本文分析了Android编程之Activity中onDestroy()调用方法。分享给大家供大家参考,具体如下:刚刚一个BUG让我发现,如果activity实现