实现了Runnable的线程类:
public class MyRunnable implements Runnable
{
@Override
public void run()
{
// TODO Auto-generated method stub
System.out.println("Runnable---The Thread is running");
System.out.println("Runnable---The Thread id is :"+ Thread.currentThread().getId()+"-"+Thread.currentThread().getName());
try
{
Thread.sleep(6000);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
1.在主线程(UI线程)中执行Runnable
public class HandlerdemoActivity extends Activity {
private Handler handler=new Handler();
private myrunnable runnable=new myrunnable();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
handler.post(runnable);
System.out.println("Oncreate---The Thread id is :"+ Thread.currentThread().getId()+"-"+Thread.currentThread().getName());
setContentView(R.layout.main);
}
}
2.在非主线程(子线程)中执行Runnable
public class handlerdemo1 extends Activity
{
private Handler handler = null;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
HandlerThread handlerThread = new HandlerThread("myHandlerThread");
handlerThread.start();
handler = new Handler(handlerThread.getLooper());//获取Looper对象的引用
handler.post(new MyRunnable());
System.out.println("Oncreate---The Thread id is :"+ Thread.currentThread().getId()+"-"+Thread.currentThread().getName());
setContentView(R.layout.main);
}
}
分享到:
相关推荐
Handler与AsyncTask使用示例,Handler AsyncTask 示例 looper
就是另一个线程发送一个编号给消息所在的线程,那么该线程的消息处理程序就会收到该消息并进行处理,而消息采用int类型,所以int能够表示多少种数字就以为着有多少消息可以给你使用。这里是一个简单的HandlerDemo。
一:在android中有两种实现线程thread的方法: 一种是,扩展java.lang.Thread类 另一种是,实现Runnable接口 二:Thread类代表线程类,它的两个最主要的方法是: run()——包含线程运行时所执行的代码 Start()——...
一个线程控制View的代码实例,其中主要使用了两种方式:Post方式和Handler方式。
Android程序中可以使用的界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面。 利用Handler刷新界面 实例化一个Handler对象,并重写handleMessage方法调用invalidate()实现界面...
大家在使用APP的时候,有的APP在点击语音搜索界面后,会出现一个... 这种方法的原理很简单,利用handler的延时机制在子线程中完成图片切换,再在主线程展示。 1、首先我们要先写一个线程池,在使用的时候方便调用。
Handler一般有两种用途:1)执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器。2)线程间通信。在Android的应用启动时,会创建一个主线程,主线程会创建一个消息队列来处理各种消息。当你创建子线程...
Handler一般有两种用途:1)执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器。2)线程间通信。在Android的应用启动时,会创建一个主线程,主线程会创建一个消息队列来处理各种消息。当你创建子线程时...
Handler对象中使用匿名内部类或非静态内部类正确地释放消息避免内存泄漏或增加Native内存,在Android中,Handler对象通常会被用来在主线程(UI线程)中处理消息,以更新UI界面。当我们在Handler对象中使用匿名内部类...
出于性能优化的考虑,Android的UI线程不是线程安全的。这致使我们不能在Android的UI线程中执行一些费时的操作,如下载、刷新等。...不过我们有两种方式来优化这种麻烦的情况——Handler和AsyncTack。
这个PPT讲Android应用程序线程消息循环原理,主要涉及到Handler和Looper两个类,以及根据消息循环的不同使用场景,总结出三种线程使用模型。掌握Android应用程序消息处理机制,有助于我们熟练地使用同步和异步编程,...
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。 Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,...
在android开发中,经常需要使用数据分页,比如要实现一个...Handler在android系统中,主要负责发送和接收消息,它的用途主要有以下两种: (1)按照计划来处理一个消息(sendMessage(Message)方法)或者执行某个runna
又可分为软实时和硬实时两种,而Android是基于linux内核的,因此属于软实时. 7. Handler机制的原理? Andriod提供了Handler和Looper来满足线程间的通信.Handler先进先出原则.Looper类用来管理特定线程内对象之间的消息...
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能...
Android界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面。 利用Handler刷新界面 实例化一个Handler对象,并重写handleMessage方法调用invalidate()实现界面刷新;而在线程中...
TCP/IP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路。一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信了。Java对基于TCP协议的网络通信...
ListView动态加载数据分页,使用Handler+线程和AsyncTask两种方法
避免ANR:Android应用程序通常运行在一个单独的线程里面,称谓主线程,所以在主线程里面少做一些耗时长的程序,而是利用子线程来操作一些繁琐的事情,用Handler来把子线程处理的消息返回给主线程 22、简要解释一下...
第25节:运行裸机程序的另外两种方式.zip 第26节:汇编点亮LED及代码分析.zip 第27节:关闭看门狗和调用C函数.zip 第28节:设置栈和C语言点亮LED.zip 第29节:控制icache.zip 第30节:控制蜂鸣器.zip 第31节:查询...