1. 什么是Activity?四大组件之一,一般的,一个用户交互界面对应一个activity
setContentView() ,// 要显示的布局
button.setOnclickLinstener{
},
activity 是Context的子类,同时实现了window.callback和keyevent.callback, 可以处理与窗体用户交互的事件。
我开发常用的的有FragmentActivitiy,ListActivity , PreferenceActivity ,TabAcitivty等…
如果界面有共同的特点或者功能的时候,还会自己定义一个BaseActivity。
2. 请描述一下Activity 生命周期。 生命周期描述的是一个类 从创建(new出来)到死亡(垃圾回收)的过程中会执行的方法。在这个过程中 会针对不同的生命阶段会调用不同的方法。
Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:oncreate ondestroy onstop onstart onresume onpause。
其实这些方法都是两两对应的,onCreate创建与onDestroy销毁;
onStart可见与onStop不可见;onResume可编辑(即焦点)与onPause。
这6个方法是相对应的,那么就只剩下一个onRestart方法了,这个方法在什么时候调用呢?
答案就是:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。
最后讲自己项目中的经验,比如说手机卫士每次进入某个界面的时候都要看到最新的数据,这个刷新列表的操作 就放在onStart()的方法里面.这样保证每次用户看到的数据都是最新的。
多媒体播放, 播放来电话. onStop() 视频, 视频声音设置为0 , 记录视频播放的位置 mediaplayer.pause();
onStart() 根据保存的状态恢复现场.mediaplayer.start();
在读文档的时候 还发现 activity还有两个方法onPostResume() 和 OnPostCreate()这两个生命周期的方法,不过开发的时候没有用到过。
3. 两个Activity之间跳转时必然会执行的是哪几个方法。 一般情况比如说有两个activity,分别叫A,B,当在A里面激活B组件的时候, A 会调用 onPause()方法,然后B 调用onCreate() ,onStart(), OnResume() ,这个时候B覆盖了窗体, A会调用onStop()方法。 如果B呢是个透明的,或者是对话框的样式, 就不会调用onStop()方法。