安卓系统Android应用程序开发PPT教材_第7章后台服务(6).ppt
-
资源ID:70279433
资源大小:70KB
全文页数:5页
- 资源格式: PPT
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
安卓系统Android应用程序开发PPT教材_第7章后台服务(6).ppt
7.2 本地服务n7.2.2 使用线程q使用线程n创建Thread对象,并将上面实现的Runnable对象作为参数传递给Thread对象qThread的构造函数中,第1个参数用来表示线程组q第2个参数是需要执行的Runnable对象q第3个参数是线程的名称n调用start()方法启动线程1.private Thread workThread;workThread=new Thread(null,backgroudWork,WorkThread);1.workThread.start();7.2 本地服务n7.2.2 使用线程q线程在run()方法返回后,线程就自动终止了;不推荐使用调用stop()方法在外部终止线程q最好的方法是通知线程自行终止,一般调用interrupt()方法通告线程准备终止,线程会释放它正在使用的资源,在完成所有的清理工作后自行关闭ninterrupt()方法并不能直接终止线程,仅是改变了线程内部的一个布尔字段,run()方法能够检测到这个布尔字段,从而知道何时应该释放资源和终止线程n在run()方法的代码,一般通过Thread.interrupted()方法查询线程是否被中断1.workThread.interrupt();7.2 本地服务n7.2.2 使用线程q下面的代码是以1秒为间隔循环检测断线程是否被中断n第4行代码使线程休眠1000毫秒n当线程在休眠过程中被中断,则会产生InterruptedExceptionn在中断的线程上调用sleep()方法,同样会产生InterruptedException1.public void run()while(!Thread.interrupted()1./过程代码Thread.sleep(1000);1.7.2 本地服务n7.2.2 使用线程qThread.interrupted()方法功能n判断线程是否应被中断n通过捕获InterruptedException判断线程是否应被中断,并且在捕获到InterruptedException后,安全终止线程1.public void run()try 1.while(true)/过程代码Thread.sleep(1000);1.catch(InterruptedException e)1.e.printStackTrace();2.http:/www.anzhuo.cc/forum-58-1.html 安卓HTC One X论坛 7.2 本地服务n7.2.2 使用线程q使用Handler更新用户界面nHandler允许将Runnable对象发送到线程的消息队列中,每个Handler对象绑定到一个单独的线程和消息队列上n当用户建立一个新的Handler对象,通过post()方法将Runnable对象从后台线程发送到GUI线程的消息队列中,当Runnable对象通过消息队列后,这个Runnable对象将被运行