android面试题(一)

  1. 什么是Activity?  答:是Application的用户交互组件
  2. 请描述一下Activity生命周期。
    public class ExampleActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // The activity is being created.
    }
    @Override
    protected void onStart() {
    super.onStart();
    // The activity is about to become visible.
    }
    @Override
    protected void onResume() {
    super.onResume();
    // The activity has become visible (it is now "resumed").
    }
    @Override
    protected void onPause() {
    super.onPause();
    // Another activity is taking focus (this activity is about to be "paused").
    }
    @Override
    protected void onStop() {
    super.onStop();
    // The activity is no longer visible (it is now "stopped")
    }
    @Override
    protected void onDestroy() {
    super.onDestroy();
    // The activity is about to be destroyed.
    }
    }
    http://developer.android.com/guide/topics/fundamentals/activities.html
  3. 两个Activity之间跳转时必然会执行的是哪几个方法。答:startActivity(Intent intent) ;  或startActivityForResult (Intent intent, int requestCode) ; 调用Activity将onPause()
  4. 横竖屏切换时候Activity的生命周期。 http://www.360doc.com/content/11/0526/18/3700464_119590329.shtml
  5. 如何将一个Activity设置成窗口的样式。答:需要展示为Dialog styleActivityandroid:theme属性值为android:theme="@android:style/Theme.Dialog"
  6. 你后台的Activity被系统 回收怎么办? onSaveInstanceState()方法被执行,重新调用onCreate(),没被回收调用onResume()
  7. 如何退出Activity?如何安全退出已调用多个Activity的Application?finish(), 在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可
  8. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态? onSaveInstanceState()方法保存 onRestoreInstanceState()方法恢复
  9. 两个Activity之间怎么传递数据?Intent和Bundle,Bundle用于捆绑数据,Intent用于发送Bundle包.application context共享数据,但要避免静态数据共享
  10. 怎么让在启动一个Activity是就启动一个service?Context.startService()或Context.bindService()方法启动服务。Activity可以帮定Service
  11. 同一个程序,但不同的Activity是否可以放在不同的Task任务栈中?可以,singleTask”和“singleInstance”模式则表示这个新被激活的activity不会放入已经存在的任务栈中,它会重新开启一个任务栈,并作为这个新的任务栈的根activity。
  12. Activity怎么和service绑定,怎么在activity中启动自己对应的service?使用bindService方法来绑定Activity和Service
  13. 什么是Service以及描述下它的生命周期。onCreate(),onStart(),onDestroy() 如果Service已经启动了,当我们再次启动Service时,不会在执行onCreate()方法,而是直接执行onStart()方法
  14. Service有哪些启动方法,有什么区别,怎样停用Service?

    1 通过startService

      Service会经历 onCreate -> onStart
     stopService的时候直接onDestroy
      如果是调用者自己直接退出而没有调用stopService的话,Service会一直在后台运行。下次调用者再起来可以stopService。

    2 通过bindService

      Service只会运行onCreate, 这个时候服务的调用者和服务绑定在一起

      调用者退出了,Srevice就会调用onUnbind->onDestroyed所谓绑定在一起就共存亡了。并且这种方式还可以使得 

    调用方(例如)调用服务上的其他的方法

  15. 不用service,B页面为音乐播放,从A跳转到B,再返回,如何使音乐继续播放?onRetainNonConfigurationInstance()和getLastNonConfigurationInstance()方法保存调用恢复播放器对象实例

posted on 2011-12-07 18:09  苏桓(osbert)  阅读(169)  评论(0编辑  收藏  举报

导航