安卓新版面试题2015.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安卓新版面试题2015

1. 什么是Activity? 四大组件之一, 一般一个用户交互界面对应一个activity setContentView() ,// 要显示的布局 , 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()方法 4. 横竖屏切换时候Activity的生命周期。 这个生命周期跟清单文件里的配置有关系 1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期 默认首先销毁当前activity,然后重新加载 2、设置Activity的android:configChanges=orientation|keyboardHidden|screenSize时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法 游戏开发中, 屏幕的朝向都是写死的. 5. 如何将一个Activity设置成窗口的样式。 可以自定义一个activity的样式 android:theme=@android:style/Theme.Dialog 6. 你后台的Activity被系统 回收怎么办?如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态? 除了在栈顶的activity,其他的activity都有可能在内存不足的时候被系统回收,一个activity越处于栈底,被回收的可能性越大. protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putLong(id, 1234567890); } public void onCreate(Bundle savedInstanceState) { //判断 savedInstanceState是不是空. //如果不为空就取出来 super.onCreate(savedInstanceState); } 7. 如何退出Activity?如何安全退出已调用多个Ac

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档