整理面试题
1、说说Activity,Intent,Service是什么关系 。
答: 一个Activity通常是一个单独的屏幕,每一个Activity都被实现为一个单独的类,这些类都是从Activity基类中继承而来的。Activity类会显示由视图控件组成的用户接口,并对视图控件的事件做出响应。
Intent的调用是用来进行屏幕之间的切换。Intent描述应用想要做什么。Intent数据结构中两个最重要的部分是动作和动作对应的数据,一个动作对应一个动作数据。
Service是运行在后台的代码,不能与用户交互,可以运行在自己的进程里,也可以运行在其他应用程序进程的上下文里。需要一个Activity或者其他Context对象来调用。
Activity跳转Activity,Activity启动Service,Service打开Activity都需要Intent表明意图,以及传递参数,Intent是这些组件间信号传递的承载着。
2、对Android的理解。
3、不用service,B页面为音乐播放,从A跳转到B,再返回,如何使音乐继续播放?
遇到问题, 可以随机应变,灵活发挥,多考虑些细节,比如说这个题就可以这样说,说说你对startActivityForResult的理解()
A开启B的时候,用startActivityForResult()方法, B返回的时候把播放的状态信息返回给A ,A继续播放音乐.
从A跳到B本身就不牵涉service,就算A启动了一个服务,只要不绑定A或B,service就不会停止,我感觉这AB跳转根本跟service没关系
4、横竖屏切换时候Activity的生命周期。两个Activity之间跳转时必然会执行的是那几个方法?
1.启动之后
页面1----onCreate执行了--->
页面1----onStart执行了--->
页面1----onResume执行了--->
切换到横屏之后
页面1----onPause执行了--->
页面1----onStop执行了--->
页面1----onDestroy执行了--->
页面1----onCreate执行了--->
页面1----onStart执行了--->
页面1----onResume执行了--->
再切换回竖屏之后
页面1----onPause执行了--->
页面1----onStop执行了--->
页面1----onDestroy执行了--->
页面1----onCreate执行了--->
页面1----onStart执行了--->
页面1----onResume执行了--->
------------------------------------------------------------------------------
2.两个页面之间的跳转
页面1启动之后
页面1----onCreate执行了--->
页面1----onStart执行了--->
页面1----onResume执行了--->
跳转之后
页面1----onPause执行了--->
页面2----onCreate执行了--->
页面2----onStart执行了--->
页面2----onResume执行了--->
页面1----onStop执行了--->
再返回页面1之后
页面2----onPause执行了--->
页面1----onRestart执行了--->
页面1----onStart执行了--->
页面1----onResume执行了--->
页面2----onStop执行了--->
页面2----onDestroy执行了--->为啥页面1跳转到页面2的时候没执行onDestroy,页面2跳转回来的时候会执行页面2的onDestroy......
因为页面2是按返回键返回页面1的,所以被销毁了,而页面1只是跳转暂停
5、ListView如何提高其效率?
答:1、使用分页加载,不要一次性加载所有数据。
2、复用convertView。在getItemView中,判断converView是否为空,如果不为空,可复用。
3、异步加载图片。Item中如果包含有webimage,那么最好异步加载。
4、快速滑动时,不显示图片。当快速滑动列表(SCROLL_STATE_FLING),item中的图片或获取需要消耗资源的view,可以不显 示出来;而处于其他两种状态(SCROLL_STATE_IDLE和SCROLL_STATE_TOUCH_SCROLL),则将那些view显示出来