`
貌似掉线
  • 浏览: 260516 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android开启线程的误区

阅读更多
发现一些刚学android的人,和我当初一样,对android的线程会存在着一定误区。
在android中,开启新线程时,一些人会用以下方法:
new Handler().post(r);

但是这样并不是开启新线程,而只是把当前的任务加入到主线程当中。如果要开启新线程,则应该使用HandlerThread,使用如下:
		HandlerThread thread = new HandlerThread(name);
		thread.start();
		new Handler(thread.getLooper()).post(r);

如果对此使用较多,则可以封装一个静态方法,用于获取一个以新线程执行任务的对象:
	/**
	 * 获取在新线程运行的Handler对象。
	 * 
	 * @param name
	 *            线程名字。
	 * @return 在新线程运行的Handler对象。
	 */
	public static Handler getNewHandlerInOtherThread(String name) {
		HandlerThread thread = new HandlerThread(name);
		thread.start();
		return new Handler(thread.getLooper());
	}
0
0
分享到:
评论
4 楼 貌似掉线 2013-04-07  
xiaozhi6156 写道
貌似掉线 写道
xiaozhi6156 写道
这么一回事?

据我所知,直接new Handler是用的是主线程的Looper。

不懂,今天去笔试有人问启动actitiy有哪几种模式..不懂

貌似有4种,在manifest文件那里有看到定义了4个,有单例单任务什么的,忘了。我只知道有一种就是最多只创建一个这样的activity。比如有AActivity和BActivity,然后A可以跳转到B去,B可以startActivity(B.this, AActivity.class),那么这时如果A没有退出的话,它是不会再创建新的,而是跳到AActivity(也就是在栈中,只有一个AActivity)。
3 楼 xiaozhi6156 2013-03-27  
貌似掉线 写道
xiaozhi6156 写道
这么一回事?

据我所知,直接new Handler是用的是主线程的Looper。

不懂,今天去笔试有人问启动actitiy有哪几种模式..不懂
2 楼 貌似掉线 2013-03-27  
xiaozhi6156 写道
这么一回事?

据我所知,直接new Handler是用的是主线程的Looper。
1 楼 xiaozhi6156 2013-03-26  
这么一回事?

相关推荐

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

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

    Android多线程文件上传

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

    Android多线程编程方法及开启步骤

    ### Android多线程编程方法及开启步骤 #### 实现线程的两种方式 在Android开发过程中,为了提高应用性能和用户体验,多线程技术被广泛应用。实现线程主要有两种方式:通过继承`Thread`类和实现`Runnable`接口。 #...

    Android多线程分段下载源码

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

    Android 多线程图片下载开源代码

    在Android开发中,多线程图片下载是一个常见的需求,尤其在大数据量或者高并发的情况下,单线程下载图片会严重影响用户体验,因为这可能导致UI线程阻塞,使得应用显得卡顿。这篇博客“Android 多线程图片下载开源...

    android多线程后台下载

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

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

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

    Android开启新线程播放背景音乐

    Android 开启新线程播放背景音乐 Android 开启新线程播放背景音乐是 Android 开发中常见的一种技术,通过在 Android 应用程序中开启新的线程来播放背景音乐,提高应用程序的用户体验。下面是关于 Android 开启新...

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

    在Android开发中,线程管理是一项重要的任务,尤其是在处理耗时操作时,如网络请求、数据库操作或大计算量的任务。本篇文章将深入探讨如何合理地结束Android中的线程,以确保应用程序的性能和稳定性。 首先,理解...

    android多线程机制

    ### Android多线程机制详解 #### 一、引言 Android多线程机制是Android开发中非常重要的一部分,尤其是在处理耗时任务(如网络请求、大数据处理等)时,避免阻塞UI线程,保证应用程序的流畅性和响应性。本文将详细...

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

    在Android开发中,进行大文件下载时,为了提高效率并充分利用设备资源,通常会采用多线程下载技术。此外,为了提升用户体验,断点续传功能也显得尤为重要,尤其是在网络不稳定或者用户中断下载后,可以从上次停止的...

    Android多线程下载实现方案

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

    android 单线程 多线程下载

    在Android开发中,数据的加载和处理经常涉及到线程的使用。本文主要探讨的是如何在Android平台上实现单线程和多线程下载,这是一项重要的技术,尤其在处理大文件或者需要后台持续运行的任务时。我们将从源码分析、...

    Android开发之多线程的操作方式

    在Android开发中,多线程是一项至关重要的技术,它使得应用程序可以同时执行多个任务,提升用户体验,特别是对于处理耗时操作如网络请求、大数据计算或长时间的UI更新时。本篇将详细介绍四种Android中实现多线程的...

    android多线程断点下载

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

    Android多线程下载

    在Android应用开发中,多线程下载是一项关键技术,它能显著提高大文件下载的效率,尤其是在网络条件不稳定的情况下。断点续传是多线程下载的一个重要特性,允许用户中断下载后,从上次停止的位置继续,提高了用户...

    android 多线程下载源代码

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

    Android-dialog库可以在任意类内调用子线程或ui线程内均可显示

    标题提到的“Android-dialog库”是Android开发中的一个第三方库,它提供了一种灵活的方式,使得开发者能够在任意类中方便地调用Dialog,并且支持在子线程或UI线程内显示,这极大地提高了代码的可复用性和执行效率。...

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

    线程在Android中扮演着处理后台任务的重要角色,它可以避免因为长时间运行操作而阻塞主线程,确保UI的流畅性。 首先,我们需要理解Android的线程模型。主线程,也被称为UI线程,负责处理所有的用户交互,如触摸事件...

    Android多线程下载(二)

    在Android应用开发中,多线程技术是必不可少的,特别是在处理耗时操作如网络下载时。本篇文章将深入探讨如何在Android环境中实现多线程下载,以提高应用程序的响应速度和用户体验。 首先,理解Android的主线程至关...

Global site tag (gtag.js) - Google Analytics