Service的两种启动模式
- startService():通过这种方式启动Service,在没有调用stopService()时,Service会一直运行。
- bindService():通过这种方式启动Service,生命周期与被绑定者一致,被绑定的组件销毁时,Service也会销毁。
如何保证Service不被杀死?
- 提高Service的优先级
- 在onDestroy()方法里重启Service
- 提升Service所在进程的优先级
Service能否执行耗时操作?
Service默认运行在主线程(UI线程),所以Service不可以执行耗时操作,如果需要执行耗时操作,需要创建子线程,在子线程中执行耗时操作,否则会出现主线程被阻塞(ANR)的情况。
前台服务和后台服务的差别
- 前台服务:会在通知一栏显示,服务被终止时,对用户有一定的通知作用,可以直观感受到服务的终止。
- 后台服务:不会在通知一栏显示,服务被终止时,用户看不到效果,无法直观感受到服务终止。
TCP和UDP的区别
- TCP是面向连接的;UDP是面向无连接的。
- TCP提供可靠的服务,传输的数据无差错,不丢失,不重复;UDP尽最大努力交付,不保证可靠交付。
- TCP工作效率低;UDP具有很好的实时性,工作效率高。
- TCP是点到点的;UDP支持一对一,一对多,多对一,多对多的交互通信。
- TCP对系统资源要求较多,UDP对系统资源要求较少。
在我们的一生中,没有人会为你等待,没有机遇会为你停留,成功需要速度,也需要坚持不懈。