- 1、本文档共98页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
招聘面试 dd 面试宝典
1. 什么是 Activity?
四大组件之一
,一般的,一个用户交互界面对应一个 activity
setContentView() ,// 要显示的布局
button.setOnclickLinstener{
}
, activity 是 Context 的子类,同时实现了window.callback 和 keyevent.callback, 可
以处理与窗体用户交互的事件.
我开发常用的的有 ListActivity , PreferenceActivity ,TabAcitivty 等…
如果界面有共同的特点或者功能的时候,还会自己定义一个 BaseActivity.
进度对话框的显示与销毁 doubanservice
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()方法
4. 横竖屏切换时候 Activity 的生命周期。
这个生命周期跟清单文件里的配置有关系
1 、不设置Activity 的android:configChanges 时,切屏会重新调用各个生命周期
默认首先销毁当前 activity,然后重新加载
2 、设置Activity 的 android:configChanges=orientation|keyboardHidden时,切屏不
会重新调用各个生命周期,只会执行 onConfigurationChanged 方法
游戏开发中, 屏幕的朝向都是写死的.
5. 如何将一个 Activity 设置成窗口的样式。
android:theme=@android:style/Theme.Dialog
可以自定义一个 activity 的样式,详细见手机卫士的程序详细信息
android:theme=@style/FloatActivity
E:\day9\mobilesafe\res\values\style
6. 你后台的Activity被系统 回收怎么办?如果后台的Activity 由于某原因被系统回收可
了,如何在被系统回收之前保存当前状态?
除了在栈顶的 activity,其他的 activity 都有可能在内存不足的时候被系统回收 ,一个
activity 越处于栈底,被回收的可能性越大.
protected void onSaveInstanceState(Bundle outState) {
文档评论(0)