首页 > 学院 > 开发设计 > 正文

Service

2019-11-06 09:37:08
字体:
来源:转载
供稿:网友
service一个看不见,摸不着的界面服务和进程:每个app的启动必然会产生一个进程,一个进程中,可能会包含多个服务,也可以不启动任何服务。服务有两种:第一种startService方式启动,特性:和应用无关,(即使应用退出了,服务依旧在后台进行)关闭这种服务只能调用stopService方法;startService方式的测试步骤:第一步:自定义一个类第二步:继承自Service(android.app)第三步:注册清单文件<service android:name=".MyService"></service>第四步:启动服务 第一次onCreate>onStartCommand之后再点击启动,只执行onStartCommand第五步:停止服务 执行onDestroy第二种bindService方式启动特性:跟随Activity的生命周期变化而改变如果启动后没有结束的话,则不会再次启动,(不再执行任何生命周期)如果启动后手动结束的话,则可以再次开启;如果启动后,Activity退掉了,则服务结束;ANR application Not Responding 程序无响应测试BindService,开启一个子线程,因为主线程(UI线程)不能执行耗时操作。开启子线程:new Thread(){ }.start();1.在Service中自定义内部类,继承自Binder,2.在自定义内部类中,写一个方法,方法中有一个赋值操作,把参数列表中的值赋值给Service当前类的值3.在onBind方法中,返回你自定义的类名4.在主类中,声明一个Service中自定义好的类的变量名5.在serviceConnection方法中,实现赋值操作,即自定义好的类的变量名=iBinder,然后强制类型转换6.再点击按钮的时候使用,自定义好的类的变量名,方法名的方法传递参数
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表