Android面试题集锦 (陆续更新)

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



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

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

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

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

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

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

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

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

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

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

这里XmlPull、SAX和DOM相信做过Web开发的都已经滚瓜烂熟了。

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

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

7. Android Service和Binder、AIDL你都熟练吗?

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

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

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

【2011-5-12 补充】



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



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


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



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


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


设置Theme。



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


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. 请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。

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 ?如何避免?能否捕获导致其的异常?



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



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

4、简要解释一下activity、 intent 、intent filter、service、Broadcast、BroadcaseReceiver


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


5、IntentService有何优点?

【2011-5-12 补充】




1. android:paddingLeft与android: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的例子, 帮助理解,个人感觉很重要!

更多相关文章

  1. Android Studio 3.5.1 在项目的build.gradle中添加百分比布局库
  2. Android自定义Dialog(自定义主题、自定义布局)
  3. Android 的整体布局
  4. android 五种 布局文件
  5. Java乔晓松-android的四大组件之一Service(服务的绑定)
  6. android 组件,xml布局中属性详解
  7. android 坐标布局 AbsoluteLayout

随机推荐

  1. Android 一堆会动的控件
  2. android ListView TV 通过遥控器上下 smo
  3. Android上解析Json格式数据
  4. Android中 实现输入框搜索,清楚历史记录
  5. Android TV自定义通用标题栏(组合控件)
  6. Android 透明状态栏实现方案
  7. one mail for difference between LOCAL_
  8. 写一个android小闹钟
  9. android之bitmap和byte[]互转
  10. AndFire防火墙1.2版本发布