说一下 Android 启动 Service 的两种方式是什么? 它们的适用情况是什么?
发布于 2022-09-20 23:33:33
关注者
0
被浏览
24
5 个回答
-
startService:生命周期与调用者不同。启动后若调用者未调用stopService而直接退出,Service仍会运行。 bindService:生命周期与调用者绑定,调用者一旦退出,Service就会调用unBind->onDestroy。
-
startservice bindservice
-
启动方式不同:startService 和bindService 由于启动方式不同,所以生命周期的会掉也是不同的,不同之处就是,通过startService 启动会调用startCommand,通过bindService 会调用onBind,多次调用bindService只会执行一次onBind 方法,多次调用startService会执行多次onStartCommand ,如果不调用onStopService 服务不会销毁,而调用unbindService服务就会被解绑,如果两个同时执行,调用解绑后服务还是会运行的,当调用onstopservice 服务才会才会被销毁
-
后台运行,数据清理,开机正常数据运载,待机运行,大数据清理,兼容数据,错误运行,程序信息兼容错误
-
startservice 或者 bindservice