Android 中back键和home键的区别:
最近研究面试题,遇到了一个问题,就是如上题目,于是Google了写答案,并且总结下来,希望对各位有所帮助。
首先我们研究一下非智能手机的home和back键的功能。
在非智能手机中,通常没有像手机那样的home键(一般挂断通话键相当于home键),而在这种情况下一般是home键和back键功能是一样的。当我们按下这两个键时一般都会停止当前的程序。
之所以是这样,个人认为原因是由于非智能手机多为单任务操作系统,而Android作为一个全新的智能操作系统,多任务操作时必须具备的。
在Android中,当按下Home键,默认情况下stop前台的actiity,即activity设置成onstop,而不是ondestory。如果再次启动该activity不是调用onCreate,而是调用onSavedInstanceState方法,保持上次Activity的状态则是从onRestart开始->onStart()->onResume();而当按下back键则不同,back键默认finish前台的activity,即activity的状态为onDestory为止,再次启动该activity则从onCreate开始,不会调用onSavedInstanceState方法。
本次主要考察activity的生命周期。
当然不要忘了最基础的就是按下Home键会返回桌面,而back则会返回前一个activity。
最近研究面试题,遇到了一个问题,就是如上题目,于是Google了写答案,并且总结下来,希望对各位有所帮助。
首先我们研究一下非智能手机的home和back键的功能。
在非智能手机中,通常没有像手机那样的home键(一般挂断通话键相当于home键),而在这种情况下一般是home键和back键功能是一样的。当我们按下这两个键时一般都会停止当前的程序。
之所以是这样,个人认为原因是由于非智能手机多为单任务操作系统,而Android作为一个全新的智能操作系统,多任务操作时必须具备的。
在Android中,当按下Home键,默认情况下stop前台的actiity,即activity设置成onstop,而不是ondestory。如果再次启动该activity不是调用onCreate,而是调用onSavedInstanceState方法,保持上次Activity的状态则是从onRestart开始->onStart()->onResume();而当按下back键则不同,back键默认finish前台的activity,即activity的状态为onDestory为止,再次启动该activity则从onCreate开始,不会调用onSavedInstanceState方法。
本次主要考察activity的生命周期。
当然不要忘了最基础的就是按下Home键会返回桌面,而back则会返回前一个activity。
Last Modified:2011-12-11
更多技术文章请访问http://thinkblog.sinaapp.com