Android系统的四大组件之一service
-
Service主要工作原理是在应用程序中不需要界面展示或交互的长时间操作,就好比是播放音乐,网络请求等都是可以在服务Service中完成的,是可以支持多线程的组件。service与界面Activity的生命周期一样,在服务Service的声明周期内不允许执行耗时操作,所以,虽然服务Service中可以进行长时间操作,但是仍然需要将这部分耗时操作放入非Android系统主线程中。
并且是进程间通信时所用的方式,不仅需要借助意图Intent对象,还要使用实现android.content.ServiceConnection接口的对象,进而调用上下文环境Context对象的bindService方法,而flags 标记了启动该服务Service时所绑定的模式。
并且调用attachBaseContext(Context base)加载运行环境。Service也是android.content.ContentWrapper的子类,所以系统在创建服务Service的实例化对象后,也会优先对其加载上下文运行环境,将参数 base 作为当前应用程序的Context对象与该服务Service绑定。在该方法被调用之后的任意位置,就可以通过调用getBaseContext()等系列方法获取并使用当前服务Service所在的上下文环境了。
调用onCreate()服务创建,在创建服务Service并加载运行环境之后,系统会优先调用该方法,表示当前服务已经完成创建。可以重写该方法执行一些服务内部使用的资源初始化操作。在执行完该方法之后,就标志着当前服务Service创建成功了,之后会一直处于运行状态,同时根据上述启动方式的不同,调用不同的生命周期方法。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏