1. 什么是IntentService?有何优点?IntentService是一个通过Context.startService(Intent)启动可以处理异步请求的Service,使用时你只需要继承IntentService和重写其中的onHandleIntent(Intent)方法接收一个Intent对象,在适当的时候会停止自己(一般在工作完成的时候). 所有的请求的处理都在一个工作线程中完成,它们会交替执行(但不会阻塞主线程的执行),一次只能执行一个请求.
  1. IntentService里面是可以进行耗时的操作的 
  2. IntentService使用队列的方式将请求的Intent加入队列,然后开启一个worker thread(线程)来处理队列中的Intent 
  3. 对于异步的startService请求,IntentService会处理完成一个之后再处理第二个 
  1. 什么时候使用Service?处理后台程序或开机启动定时任务等
  2. 请描述一下Intent 和 Intent Filter。应用程序的组件为了告诉Android自己能响应、处理哪些隐式Intent请求,可以声明一个甚至多个Intent Filter。每个Intent Filter描述该组件所能响应Intent请求的能力——组件希望接收什么类型的请求行为,什么类型的请求数据。
  3. Intent传递数据时,可以传递哪些类型数据? Intent/Bundle支持传递基本类型的数据和基本类型的数组数据,以及String/CharSequence类型的数据和String/CharSequence类型的数组数据。还可以传递Parcelable(包裹化,邮包)和Serializable(序列化)类型的数据,以及它们的数组/列表数据。
  4. 说说Activity,Intent,Service是什么关系 。Intent是activity和service的桥梁,通信员,activity主要操作显示界面,service在后台运行.
  5. 请描述一下Broadcast Receiver。BroastcastReceiver 也是跟Intent紧密相连的,动态/静态注册了BroastcastReceiver之后,使用sendBroadcast把Intent发送之后,系 统会自动把符合条件的BroastcastReceiver启动,跟嵌入式系统的中断类似。
  6. 在manifest和代码中如何注册和使 用 broadcast receiver 。
1. <receiver android:name="clsReceiver2">  
2. <intent-filter>  
3. <action  
4. android:name="com.testBroadcastReceiver.Internal_2"/>  
5. </intent-filter>  
6. </receiver>  
7. (代码)public class HelloDemo extends Activity {    
        private BroadcastReceiver receiver;    

        @Override 
        protected void onStart() { 
                super.onStart(); 

                receiver = new CallReceiver(); 
                registerReceiver(receiver, new IntentFilter("android.intent.action.PHONE_STATE")); 
        } 

        @Override 
        protected void onStop() { 
                unregisterReceiver(receiver); 
                super.onStop(); 
        } 
}
  1. 请介绍下ContentProvider是如何实现数据共享的。ContentResolver是通过URI来查询ContentProvider中提供的数据
  2. 请介绍下Android的数据存储方式。
  1. 使用SharedPreferences存储数据;
  2. 文件存储数据;
  3. SQLite数据库存储数据;
  4. 使用ContentProvider存储数据;
  5. 网络存储数据;
  1. 为什么要用ContentProvider?它和sql的实现上有什么差别?
  2. 请介绍下Android中常用的五种布局。
  3. 谈谈UI中, Padding和Margin有什么区别?
  4. widget相对位置的完成在antivity的哪个生命周期阶段实现。
  5. 请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。
  6. AIDL的全称是什么?如何工作?能处理哪些类型的数据?
  7. 请解释下Android程序运行时权限与文件系统权限的区别。
  8. 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?
  9. 对多线程的运用和理解,及多线程之间handle的传值。
  10. 对android虚拟机的理解,包括内存管理机制垃圾回收机制。
  11. Framework工作方式及原理,Activity是如何生成一个view的,机制是什么。
  12.  android本身的一些限制,比如apk包大小限制,读取大文件时的时间限。
  13. 如何加载的音乐信息,如何改善其效率。
  14. ListView如何提高其效率?
  15. 启动应用后,改变系统语言,应用的语言会改变么?
  16. 启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?
  17. Android程序与Java程序的区别?
  18. Android中Task任务栈的分配。
  19. 在Android中,怎么节省内存的使用,怎么主动回收内存?
  20. 不同工程中的方法是否可以相互调用?
  21. 在Android中是如何实现判断区分通话记录中的电话状态,去电,来电、未接来电?
  22. dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念
  23. sim卡的EF 文件有何作用
  24. 如何判断是否有SD卡?
  25. 嵌入式操作系统内存管理有哪几种, 各有何特性。
  26. 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?
  27. 一条最长的短信息约占多少byte? 
  28. Linux中跨进程通信的几种方式 。
  29. 谈谈对Android NDK的理解。
  30. 谈谈Android的优点和不足之处。
  31. Android系统中GC什么情况下会出现内存泄露呢?
  32. Android UI中的View如何刷新。
  33. 简单描述下Android 数字签名。
  34. 什么是ANR 如何避免它?
  35. android中的动画有哪几类,它们的特点和区别是什么?
  36. handler机制的原理。
  37. android中线程与线程,进程与进程之间如何通信。
  38. 说说mvc模式的原理,它在android中的运用。
  39. android中有哪几种解析xml的类,官方推荐哪种?以及它们的原理和区别。
  40. DDMS与TraceView的区别? 
  41. res目录有默认几项resource。
  42. android的哪个版本是一次重大的升级?