`
不夜的星辰
  • 浏览: 86758 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android handler操作线程的两种方式

 
阅读更多
实现了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使用示例,Handler AsyncTask 示例 looper

    Android HandlerDemo

    就是另一个线程发送一个编号给消息所在的线程,那么该线程的消息处理程序就会收到该消息并进行处理,而消息采用int类型,所以int能够表示多少种数字就以为着有多少消息可以给你使用。这里是一个简单的HandlerDemo。

    Android 线程thread的两种实现方法(必看)

    一:在android中有两种实现线程thread的方法: 一种是,扩展java.lang.Thread类 另一种是,实现Runnable接口 二:Thread类代表线程类,它的两个最主要的方法是: run()——包含线程运行时所执行的代码 Start()——...

    Android 线程+View的使用

    一个线程控制View的代码实例,其中主要使用了两种方式:Post方式和Handler方式。

    Android 实现界面刷新的几种方法

    Android程序中可以使用的界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面。 利用Handler刷新界面 实例化一个Handler对象,并重写handleMessage方法调用invalidate()实现界面...

    android实现图片闪烁动画效果的两种实现方式(实用性高)

    大家在使用APP的时候,有的APP在点击语音搜索界面后,会出现一个... 这种方法的原理很简单,利用handler的延时机制在子线程中完成图片切换,再在主线程展示。  1、首先我们要先写一个线程池,在使用的时候方便调用。

    Android多线程处理机制中的Handler使用介绍

    Handler一般有两种用途:1)执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器。2)线程间通信。在Android的应用启动时,会创建一个主线程,主线程会创建一个消息队列来处理各种消息。当你创建子线程...

    android开发教程之子线程中更新界面

    Handler一般有两种用途:1)执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器。2)线程间通信。在Android的应用启动时,会创建一个主线程,主线程会创建一个消息队列来处理各种消息。当你创建子线程时...

    Handler对象中使用匿名内部类或非静态内部类正确地释放消息避免内存泄漏或增加Native内存

    Handler对象中使用匿名内部类或非静态内部类正确地释放消息避免内存泄漏或增加Native内存,在Android中,Handler对象通常会被用来在主线程(UI线程)中处理消息,以更新UI界面。当我们在Handler对象中使用匿名内部类...

    Handler和AsyncTack

    出于性能优化的考虑,Android的UI线程不是线程安全的。这致使我们不能在Android的UI线程中执行一些费时的操作,如下载、刷新等。...不过我们有两种方式来优化这种麻烦的情况——Handler和AsyncTack。

    Android应用程序消息处理机制

    这个PPT讲Android应用程序线程消息循环原理,主要涉及到Handler和Looper两个类,以及根据消息循环的不同使用场景,总结出三种线程使用模型。掌握Android应用程序消息处理机制,有助于我们熟练地使用同步和异步编程,...

    Android中AsyncTask的使用com.scott.async

    在Android中实现异步任务机制有两种方式,Handler和AsyncTask。 Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,...

    Android实现listview动态加载数据分页的两种方法

    在android开发中,经常需要使用数据分页,比如要实现一个...Handler在android系统中,主要负责发送和接收消息,它的用途主要有以下两种: (1)按照计划来处理一个消息(sendMessage(Message)方法)或者执行某个runna

    Android 面试宝典

    又可分为软实时和硬实时两种,而Android是基于linux内核的,因此属于软实时. 7. Handler机制的原理? Andriod提供了Handler和Looper来满足线程间的通信.Handler先进先出原则.Looper类用来管理特定线程内对象之间的消息...

    Android开发笔记之:Handler Runnable与Thread的区别详解

    在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能...

    Android中刷新界面的二种方法

    Android界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面。 利用Handler刷新界面 实例化一个Handler对象,并重写handleMessage方法调用invalidate()实现界面刷新;而在线程中...

    Android使用多线程进行网络聊天室通信

    TCP/IP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路。一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信了。Java对基于TCP协议的网络通信...

    ListView动态加载数据分页

    ListView动态加载数据分页,使用Handler+线程和AsyncTask两种方法

    android 面试2

    避免ANR:Android应用程序通常运行在一个单独的线程里面,称谓主线程,所以在主线程里面少做一些耗时长的程序,而是利用子线程来操作一些繁琐的事情,用Handler来把子线程处理的消息返回给主线程 22、简要解释一下...

    ARM Cortex-A8和Android 4.x联动报警系统

    第25节:运行裸机程序的另外两种方式.zip 第26节:汇编点亮LED及代码分析.zip 第27节:关闭看门狗和调用C函数.zip 第28节:设置栈和C语言点亮LED.zip 第29节:控制icache.zip 第30节:控制蜂鸣器.zip 第31节:查询...

Global site tag (gtag.js) - Google Analytics