无冥冥之志者,无昭昭之明;无惛惛之事者,无赫赫之功。
解释:没有专心致志地刻苦学习,就没有融会贯通的智慧;没有埋头执着的工作,就不会取得显著的成就。
问题:Service的两种启动方式?
Service的启动方式也是面试比较高频的考察点,主要有以下问题:
- Service的两种启动方式有什么不同?
- 生命周期不同
- 启动结束时调用的方法不同
startService启动的Service,启动后与启动者(如Activity)的关联非常少。启动者就只能调用stopService结束Service与它联系;bindService启动Service,需要传递一个ServiceConnection对象,通过这个对象,启动者可以与Service进行交互。
两种方式的生命周期分别是什么?
- startService:onCreate->onStartCommand->onDestroy;
bindService:onCreate->onBind->unBind->onDestroy;
如何知道Service是否已经结束?
- startService方式启动的Service,不做操作不会知道Service是否结束
- bindService方式启动的Service,因为启动的时候会传递一个ServiceConnection对象,通过这个对象,可以知道Service是否结束。深层的原因是ServiceConnection中会对注册这个Service的死亡通知。