#Servce
- Serve和线程的区别和场景(Servce是Android的四大组件之一,他是运行在主线程当中的,他是系统进程托管的)
- 如何管理Servce的生命周期(BindServce和StartServce 两种开启方式生命周期不同,但是两者有一样的地方)
- Servce和IntentServce的区别(Servce不是独立的线程也不是独立的进程,他是依赖于应用程序的主线程的,所以不建议在Servce中进行耗时操作和复杂逻辑因为这样会造成ANR为解决以上问题,google提供了IntentServce这个类,IntentServce中有一个工作线程去处理那些耗时操作IntentServce任务执行完就会停止不像Servce开启之后就会永远开启着)
- 启动服务和绑定服务先后次序的问题(我们知道服务启动方式有两种,一种是StartServce一种是BindServce,但我们开启顺序不一样的话,他们很多情况也是不一样的,有时候我们可以既启动一个服务同时也绑定一个服务,启动服务会让Servce无限期运行下去,Android仅会创建一个Servce,所以启动服务和绑定服务操作的都是同一个Servce,所以将会分析两种情况,第一种是先绑定后启动,第二种是先启动后绑定)
- 序列化Parcelable和Serializable(因为内存中的对象都是暂存,这时为了将对象保存下来这时候就需要将对象写到磁盘或者写到其他进程当中,这个过程就叫序列化,Android中常用的两种序列化方式就是Parcelable和Serializable,这两个也经常在面试中出现)
- Binder(核心难点,多进程通信都是依赖与底层Binder IPC机制,而Binder机制他其实也是一种远程的多进程通讯的一种方案比如说进程A的Activity与进程B的Servce通讯时就需要用到Binder机制)