Android面试题集锦

来源:互联网 发布:matlab多变量数据拟合 编辑:程序博客网 时间:2024/05/18 00:44

一些常见的Android面试基础题做下总结,看看你能做出多少道?

 

1. Intent的几种有关Activity启动的方式有哪些,你了解每个含义吗?

 


 

   这里Android123提示大家,Intent的一些标记有FLAG_ACTIVITY_BROUGHT_TO_FRONTFLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_CLEAR_WHEN_TASK_RESETFLAG_ACTIVITY_EXCLUDE_FROM_RECENTSFLAG_ACTIVITY_MULTIPLE_TASKFLAG_ACTIVITY_NEW_TASK等。每种含义大家看SDK文档和具体跑下这样你的记忆会更深刻些。

  2. ActivityTask的启动模式有哪些?每种含义是什么?


   有关在AndroidManifest.xml中的android:launchMode定义,主要有standardsingleTopsingleTasksingleInstance,同时对于android:taskAffinity这些问题大家也要了解,Android开发网在以前的文章中讲过,不过很多开发者仍然不是很清楚,这些基础问题我们以后仍然会再次总结。

   关于Activity的启动模式,参考:http://blog.csdn.net/feng88724/archive/2011/05/11/6412638.aspx

  3.通过Intent传递一些二进制数据的方法有哪些?


   1).使用Serializable接口实现序列化,这是Java常用的方法。

   2).实现Parcelable接口,这里Android的部分类比如Bitmap类就已经实现了,同时ParcelableAndroid AIDL中交换数据也很常见的。

  4.能说下Android应用的入口点吗?


  真正的Android入口点是applicationmain,你可以看下androidmanifest.xml的包含关系就清楚了。可以没有Activity但是必须有Application

5. Android都有哪些XML解析器,都熟练掌握吗?


  这里XmlPullSAXDOM相信做过Web开发的都已经滚瓜烂熟了。

  6. SQLite支持事务吗?添加删除如何提高性能?


  SQLite作为轻量级的数据库,比MySQL还小,但支持SQL语句查询,提高性能可以考虑通过原始经过优化的SQL查询语句方式处理。

  7. Android ServiceBinderAIDL你都熟练吗?


  作为Android重要的后台服务,这些每个Android开发者都应该掌握,这也算是和Java SE最大的不同了,具体的实例大家可以查看Android音乐播放器的源代码Music.git中的,这里不再赘述。

8.你用过哪款Android手机,有哪些优点和不足,相对于iPhoneSymbian又有哪些优缺点?


   把这个作为面试题也是考察下,可以大概了解到它对Android的了解程度,多移动开发的认识。

2011-5-12补充】

 


 

1.   请描述下Activity的生命周期。

 


创建 oncreate -  启动onstart – 恢复 onResume –暂停 onPause –结束 onEnd –销毁onDestroy

 

 

2.   如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?

 


暂停 onPause” 状态将数据保存。

 

3.   如何将一个Activity设置成窗口的样式。

 


设置Theme

 

4.   如何退出Activity?如何安全退出已调用多个ActivityApplication

 

 

5.   请介绍下Android中常用的五种布局。

 


线性布局LinearLayout相对布局 RelativeLayout


表单布局 TableLayout
绝对布局AbsLayout(已淘汰)


帧布局FrameLayout

 

 

6.   请介绍下Android的数据存储方式。

 


Preference,
文件,数据库SQlite,网络存储

 

7.   请介绍下ContentProvider是如何实现数据共享的。

 

 

 

8.   如何启用Service,如何停用Service

 


启动:
Context.startService()
and
Context.bindService().


关闭: Context.stopService().

           Service.stopSelf()
or
Service.stopSelfResult()

 

 

9.   注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。

 

10.   请解释下在单线程模型中MessageHandlerMessage QueueLooper之间的关系。

 

11.    AIDL的全称是什么?如何工作?能处理哪些类型的数据?

 

12.   请解释下Android程序运行时权限与文件系统权限的区别。(Edited by Sodino)

 

13.   系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。

 

14.   有一个一维整型数组int[]data保存的是一张宽为width,高为height的图片像素值信息。请写一个算法,将该图片所有的白色不透明(0xffffffff)像素点的透明度调整为50%

 

15.   你如何评价Android系统?优缺点。 (这一题重复了)

 


优势:
一、开放性三、丰富的硬件选择五、无缝结合的Google应用支持

缺点:  一、安全和隐私
二,开发商自定义,不够统一四、同类机型用户减少

2011-5-12补充】

 


 

1、什么是ANR如何避免它?

 

http://blog.csdn.net/Zengyangtech/archive/2010/11/21/6025671.aspx

 

2、什么情况会导致Force Close ?如何避免?能否捕获导致其的异常?

 

3Android本身的api并未声明会抛出异常,则其在运行时有无可能抛出runtime异常,你遇到过吗?诺有的话会导致什么问题?如何解决?

 


会有运行时异常,运行时异常无需捕捉

4、简要解释一下activity intent intent filterserviceBroadcastBroadcaseReceiver

 

      这个问题问的很普遍,自己多看看吧。在此不多说了!


5
IntentService有何优点?

 

2011-5-12补充】

 




1. android:paddingLeftandroid:layout_marginLeft的区别

当按钮分别设置以上两个属性时,得到的效果是不一样的。
android:paddingLeft="30px"
按钮上设置的内容(例如图片)离按钮左边边界30个像素
android:layout_marginLeft="30px"
整个按钮离左边设置的内容30个像素

 

2. Android动画有哪几种?描述一下


两种。 Tween动画和Frame动画。 Tween动画主要是透明度、尺寸伸缩、旋转、位移等效果。


Frame
动画可以理解成gif一帧一帧的显示图片。比较常用的有滚动条效果。

 

3.IntentActivity、广播、Service等的理解。

 

4.哪些情况下会发生ANR ?怎么对应 (这个问题也重复了)

   Application Not Response

 

5.隐式、显式Intent的区别

·   显式意图

通过名字指明目标组件(这个组件名字字段component name field,
前面提到过
,
有一个数值集)。既然组件名称通常不为其他应用程序的开发者所了解,显式意图典型的被用作应用程序的内部消息-例如一个活动启动一个附属服务或姊妹活动。

   隐式意图

不命名目标组件(组件名称字段为空)。隐式意图经常用来激活其他应用程序的组件。

   这一块参考Intent说明,可以同时看一下Notepad的例子,帮助理解,个人感觉很重要!

 

原创粉丝点击