Service

2017-12-12  本文已影响3人  魂之挽歌w

Service的引入

有的操作比较耗时(如:文件IO操作,大量数据的数据库操作,访问网络等),我们希望它们在后台运行,不耽误当前的操作,这就引入了Service概念.

Android中的服务类似windows中的服务,一般没有用户操作界面,它运行于系统中不容易被用户发觉

服务的生命周期回调方法

当采用Context.startService()方法启动服务,与之有关的生命周期方法

onCreate()----->onStartCommand()----->onDestroy()

onCreate()该方法在服务被创建时调用,该方法只会被调用一次,无论调用多少次startService()或bindService()方法,服务也只被创建一次!!!

onStartCommand() 只有采用Context.startService()方法启动服务时才会回调该方法.该方法在服务开始运行时被调用.

多次调用startService()方法尽管不会多次创建服务实例,但onStartCommand()方法会被多次调用.

onDestroy()该方法在服务被终止时调用.

当采用Context.bindService()方法启动服务,与之有关的生命周期方法

onCreate()----->onBind()----->onUnbind()----->onDestroy()

IntentService

intentService是为了解决程序员忘记结束服务和处理长时间任务而提出的

所以,其内部开启了一个子线程且结束时自动关闭,与使用普通Service 没有区别

上一篇下一篇

猜你喜欢

热点阅读