`
阅读更多
在 Android 平台中多线程应用很广泛,在 UI 更新、游戏开发和耗时处理(网络通信等)等方面都需要多线程。 Android 线程涉及到的技术有: Handler, Message,MessageQueue,Looper,HandlerThread。

public void onCreate(Bundle savedInstanceState) {

           super.onCreate(savedInstanceState);

           setContentView(R.layout.main);

 

           btnEnd = (Button) findViewById(R.id.btnEnd);

           btnEnd.setOnClickListener(new OnClickListener() {

                    @Override

                    public void onClick(View v) {

                             isRunning = false;

                    }

           });

          

           labelTimer = (TextView) findViewById(R.id.labelTimer);

          

           HandlerThread thread = new HandlerThread("MyHandlerThread");

           thread.start();

          

           handler = new Handler(thread.getLooper());

          

           Runnable r = new Runnable() {

                    public void run() {

                             if (isRunning) {

                                       labelTimer.setText(" 逝去了 " +timer + " 秒 ");

                                       timer++;

                                       handler.postDelayed(this, 1000);

                             }

 

                    }

           };

           handler.postDelayed(r, 1000);

 

}

}

用 new HandlerThread("MyHandlerThread") 创建 HandlerThread 线程,通过 thread.start() 方法启动该线程。 HandlerThread 的 getLooper() 方法可以获得与 HandlerThread 线程对象关联的 Looper 对象。再用 Looper 对象构建 new Handler(looper) 。
                                                           出自《Android开发案例驱动教程》
1
5
分享到:
评论

相关推荐

    Android中线程间通信.pdf

    因此,在Android中,所有的UI操作都必须在这个UI线程中执行。这是因为在Android中,默认情况下UI操作是非线程安全的,这意味着它们只能在一个特定的线程(即UI线程)中被安全地执行。 #### 三、单线程模型的重要性 ...

    android 线程之间通过Handler发送消息

    首先,理解Android线程模型至关重要。Android应用的主要工作线程被称为UI线程或主线程,它负责处理用户界面的更新和事件响应。后台线程通常用于执行耗时任务,避免阻塞UI线程。为了在后台线程和主线程之间交换数据和...

    Android多线程文件上传

    在Android应用开发中,文件上传是一项常见的任务,尤其是在处理大文件或者需要提高用户交互体验时,多线程技术显得尤为重要。本主题聚焦于"Android多线程文件上传",我们将探讨如何利用多线程技术来优化文件上传过程...

    android 异步任务 Binder 线程间交互 Handler 迭代器模式

    在Android应用开发中,线程间的交互是必不可少的,尤其是涉及到UI更新时。在这个主题下,我们将深入探讨Android中的异步任务(AsyncTask)、Binder、Handler以及迭代器模式。 首先,我们来理解Android中的异步任务...

    Android 线程 多线程 Multi-thread

    本篇文章将详细介绍Android线程的基础知识、使用方法及同步机制等内容。 #### 一、Android线程概述 在Android应用开发过程中,线程的应用非常广泛。线程作为进程中的执行单元,可以被用来处理一些耗时操作,如网络...

    Android开发中的多线程编程技术

    3. IntentService:专为执行单一任务的后台服务设计,自动在单独的工作线程中运行,完成后自动停止。 4. Thread与Runnable:直接创建Thread对象或者实现Runnable接口,然后在新线程中运行。 5. ExecutorService:...

    Android线程结束——合理的结束你想结束的线程

    它们在主线程中处理消息和回调,如果在工作线程中使用了Handler,记得在结束线程前关闭Looper,以防止内存泄漏和资源占用。 总结,结束Android线程时,关键在于优雅、安全地中断操作,而不是简单粗暴地停止。合理的...

    Android多线程分段下载源码

    在Android开发中,多线程分段下载是一项重要的技术,特别是在处理大文件或者网络环境不稳定的情况下,能够提高下载效率并优化用户体验。这个"Android多线程分段下载源码"实例是一个很好的学习资源,它实现了文件的...

    Android 中三种启用线程的方法总结

    首先说明Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应。 而Runnable是一个接口,Thread是Runnable的子类。所以说,他俩都算一个进程。 ...

    Android多线程操作

    文件名`ProgressDialogThread`可能是一个示例,展示了如何在后台线程中加载数据,并在主线程中更新进度对话框。在Android中,更新UI必须在主线程进行,因此需要通过Handler或者AsyncTask来传递信息。 三、线程同步...

    android多线程后台下载

    android多线程后台下载示例程序,android多线程后台下载示例程序,android多线程后台下载示例程序,android多线程后台下载示例程序,android多线程后台下载示例程序,android多线程后台下载示例程序

    android多线程demo(很清晰很详细)

    在Android开发中,多线程是一项至关重要的技术,它能够帮助开发者实现应用程序的高效运行,尤其是在处理耗时操作如网络请求、数据加载等场景。本文将深入探讨Android多线程的相关知识点,基于“android多线程demo(很...

    android 单线程 多线程下载

    为了不阻塞主线程,使得用户界面保持流畅,后台任务如文件下载通常会放在其他线程中执行。这就涉及到单线程和多线程的概念。 1. **单线程下载**: 在单线程下载中,所有的下载任务都在一个单独的工作线程中进行。...

    android多线程机制

    它们共同协作,使得开发者能够在子线程中处理耗时任务,同时保证UI的更新始终发生在主线程中,从而提高了应用程序的整体性能和用户体验。正确理解和使用这些组件对于开发高质量的Android应用程序至关重要。

    Android多线程文件夹下载及断点续传

    多线程下载是将一个大文件分成多个部分,每个部分在一个单独的线程中下载。这样可以同时利用多个网络连接,提高下载速度。在`downloadDemo`项目中,可能包含以下关键点: 1. **任务分片**:根据文件大小,计算出每...

    android多线程下载

    在Android开发中,多线程下载是一项常见的任务,特别是在处理大文件时,为了提高用户体验,通常需要实现下载的暂停、断点续传功能。本文将深入解析如何在Android环境中实现这样的功能。 首先,理解“多线程下载”的...

    android多线程断点下载

    在Android开发中,多线程断点下载是一项重要的技术,特别是在处理大文件或者网络环境不稳定的情况下,能够提高下载效率并确保下载的连续性。本文将详细介绍如何在Android中实现多线程断点下载,以及如何封装一个易于...

    Android----线程实现图片移动

    在这个场景中,我们将在线程中处理图片的移动逻辑。 1. **创建线程**: 可以使用`Thread`类直接创建一个新线程,或者使用更现代的`AsyncTask`,`Handler`/`Looper`,或者`Runnable`与`ExecutorService`。考虑到这是...

    Android多线程下载实现方案

    在Android开发中,为了提升用户体验,尤其是在处理大文件下载时,多线程技术的应用变得尤为重要。本篇文章将详细探讨如何在Android中实现多线程下载功能,并涉及断点续传技术,以确保下载的高效性和可靠性。我们还将...

    android 多线程下载源代码

    在Android开发中,多线程下载是一项常见的任务,特别是在处理大文件时,为了提高下载速度和用户体验,通常会采用多线程技术。本资源提供的"android 多线程下载源代码"是一个很好的学习资料,可以帮助开发者理解并...

Global site tag (gtag.js) - Google Analytics