搜档网
当前位置:搜档网 › Android面试题全集

Android面试题全集

1. 什么是Activity? 可视化界面用户交互
2. 请描述一下Activity生命周期。 首先 运行 onCreate—onStart— onResume—onPuese—onStop—onDestroy
3. 两个Activity之间跳转时必然会执行的是哪几个方法。
4. 横竖屏切换时候Activity的生命周期。
5. 如何将一个Activity设置成窗口的样式。
6. 你后台的Activity被系统 回收怎么办?
7. 如何退出Activity?如何安全退出已调用多个Activity的Application?
8. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?
9. 两个Activity之间怎么传递数据?
10. 怎么让在启动一个Activity是就启动一个service?
11. 同一个程序,但不同的Activity是否可以放在不同的Task任务栈中?
12. Activity怎么和service绑定,怎么在activity中启动自己对应的service?
13. 什么是Service以及描述下它的生命周期。
14. Service有哪些启动方法,有什么区别,怎样停用Service?
15. 不用service,B页面为音乐播放,从A跳转到B,再返回,如何使音乐继续播放?
16. 什么是IntentService?有何优点?
17. 什么时候使用Service?
18. 请描述一下Intent 和 Intent Filter。
19. Intent传递数据时,可以传递哪些类型数据?
20. 说说Activity,Intent,Service是什么关系 。
21. 请描述一下Broadcast Receiver。
22. 在manifest和代码中如何注册和使 用 broadcast receiver 。
23. 请介绍下ContentProvider是如何实现数据共享的。
24. 请介绍下Android的数据存储方式。
25. 为什么要用ContentProvider?它和sql的实现上有什么差别?
26. 请介绍下Android中常用的五种布局。
27. 谈谈UI中, Padding和Margin有什么区别?
28. widget相对位置的完成在antivity的哪个生命周期阶段实现。
29. 请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。
30. AIDL的全称是什么?如何工作?能处理哪些类型的数据?
31. 请解释下Android程序运行时权限与文件系统权限的区别。
32. 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?
33. 对多线程的运用和理解,及多线程之间handle的传值。
34. 对android虚拟机的理解,包括内存管理机制垃圾回收机制。
35. Framework工作方式及原理,Activity是如何生成一个view的,机制是什么。
36. android本身的一些限制,比如apk包大小限制,读取大文件时的时间限。
37. 如何加载的音乐信息,如何改善其效率。
38. ListView如何提高其效率?
39. 启动应用后,改变系统语言,应用的语言会改变么?
40. 启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?
41. Android程序与Java程序的区别?
42. Android中Task任务栈

的分配。
43. 在Android中,怎么节省内存的使用,怎么主动回收内存?
44. 不同工程中的方法是否可以相互调用?
45. 在Android中是如何实现判断区分通话记录中的电话状态,去电,来电、未接来电?
46. dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念
47. sim卡的EF 文件有何作用
48. 如何判断是否有SD卡?
49. 嵌入式操作系统内存管理有哪几种, 各有何特性。
50. 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?
51. 一条最长的短信息约占多少byte?
52. Linux中跨进程通信的几种方式 。
53. 谈谈对Android NDK的理解。
54. 谈谈Android的优点和不足之处。
55. Android系统中GC什么情况下会出现内存泄露呢?
56. Android UI中的View如何刷新。
57. 简单描述下Android 数字签名。
58. 什么是ANR 如何避免它?
59. android中的动画有哪几类,它们的特点和区别是什么?
60. handler机制的原理。
61. android中线程与线程,进程与进程之间如何通信。
62. 说说mvc模式的原理,它在android中的运用。
63. android中有哪几种解析xml的类,官方推荐哪种?以及它们的原理和区别。
64. DDMS与TraceView的区别?
65. res目录有默认几项resource。
66. 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开发网在 以前的文章中讲过,不过很多开发者仍然不是很清楚,这些基础问题我们以后仍然会再次总结。
3. 通过Intent传递一些二进制数据的方法有哪些?
1). 使用Serializable接口实现序列化,这是Java常用的方法。
2). 实现Parcelable接口,这里Android的部分类比如Bitmap类就已经实现了,同时Parcelable在Android AIDL中交换数据也很常见的。
4. 能说下Android应用的入口点吗?
在Google的虚拟机中Application实例中已经实现了main方法,有关具体的Application介绍可以参考 Android程序的入口点是什么,不是Main()吗
5. Java基础问题,说说HashSet和HashTable的区别?
这个相信Java程序员都知道HashSet相对于HashMap就是不能存放重复的数据,对于HashTable来说,存放的数据不能出现key或value为null这

样的情况。
6. Java基础问题,用Java的集合类写下广度优先搜索.
这个属于基础数据结构问题,通过队列处理一层一层,相对于深度优先的栈处理方式来说更实用一些。
7. Android都有哪些XML解析器,都熟练掌握吗?
这里XmlPull、SAX和DOM相信做过Web开发的都已经滚瓜烂熟了。
8. SQLite支持事务吗? 添加删除如何提高性能?
SQLite作为轻量级的数据库,比MySQL还小,但支持SQL语句查询,提高性能可以考虑通过原始经过优化的SQL查询语句方式处理。
9. Android Service和Binder、AIDL你都熟练吗?
作为Android重要的后台服务,这些每个Android开发者都应该掌握,这也算是和Java SE最大的不同了,具体的实例大家可以查看Android音乐播放器的源代码Music.git中的,这里不再赘述。
10. 你用过哪款Android手机,有哪些优点和不足,相对于iPhone或Symbian又有哪些优缺点?
把这个作为面试题也是考察下,可以大概了解到它对Android的了解程度,多移动开发的认识。


相关主题