`
dyingbleed
  • 浏览: 117369 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
社区版块
存档分类
最新评论

【Android】IntentService多线程

 
阅读更多

IntentService继承自Service,用于异步处理通过startService(Intent intent)方法传递的Intent对象。

该Service根据需要启动

,通过实现onHandleIntent(Intent intent)方法,IntentService会在一个工作线程中,

按顺序处理每个Intent对象,直到当工作执行完毕自动销毁。

 

 

 

实例代码

 

1、启动服务

 

 

Intent intent = new Intent("iteye.dyingbleed.DownloadService");
intent.putExtra("url", url); //添加下载地址
startService(intent);

 

2、配置AndroidManifest

 

3、新建DownloadService类,继承IntentService

 

 

package lizhen.apk;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import android.app.IntentService;
import android.content.Intent;

public class DownloadService extends IntentService {
	
	private ExecutorService pool;

	public DownloadService() {
		super("DownloadService");
	}

	@Override
	public void onCreate() {
		super.onCreate();
		pool = Executors.newCachedThreadPool();
	}

	@Override
	protected void onHandleIntent(Intent intent) {
		String url = intent.getStringExtra("url");
		pool.execute(new DownloadTask(url));
	}

	@Override
	public void onDestroy() {
		super.onDestroy();
		pool.shutdown();
	}
	
	private class DownloadTask implements Runnable {
		
		private final String url;
		
		public DownloadTask(String url) {
			this.url = url;
		}

		@Override
		public void run() {
			// TODO 此處省略具體實現
		}
		
	}

}
分享到:
评论
2 楼 dyingbleed 2013-06-06  
kangsoft 写道
IntentService 里貌似不用再创建线程啊。。

Service在单独的一个进程里,这里是展示在Service进程中使用多线程
1 楼 kangsoft 2013-05-03  
IntentService 里貌似不用再创建线程啊。。

相关推荐

    android——多线程

    Android提供了多种实现多线程的方式,包括:Thread、AsyncTask、IntentService以及Handler/Looper机制。 Handler是Android中处理线程间通信的关键组件,它与Looper和Message紧密关联。Looper是一个消息循环,它不断...

    Android—IntentService

    1. 单线程执行:IntentService内部使用了一个工作队列,保证了所有任务按照顺序逐一执行,避免了多线程并发导致的竞态条件。 2. 自动启动与停止:当IntentService接收到第一个Intent时,它会自动启动。一旦工作队...

    android IntentService 的学习例子

    IntentService是Android中处理后台任务的优雅方式,它简化了线程管理和服务生命周期的管理。在TestIntentService示例中,我们了解了如何创建一个简单的IntentService以及如何启动它来执行特定任务。利用...

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

    在Android应用开发中,多线程技术是必不可少的,它能帮助开发者实现高效的代码执行,提升用户体验,并确保应用程序的响应性。本资源包主要聚焦于Android平台上的多线程编程,包括理论概念、最佳实践以及实际应用案例...

    Android多线程操作

    标题"Android多线程操作"和描述"Android多线程开发实例,对使用多线程的用户有一定的参考价值!"暗示我们将深入探讨Android中的线程管理以及如何在实践中有效利用。 Android系统默认运行在主线程,也被称为UI线程,...

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

    Android提供了几种实现多线程的方式,包括线程池、AsyncTask、Handler/Looper、IntentService等。 开源代码中可能使用了线程池(ThreadPoolExecutor)来管理下载任务,线程池可以有效地控制运行的线程数量,避免...

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

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

    Android多线程下载实现方案

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

    android多线程下载文件

    在Android开发中,多线程下载文件是一种常见的优化策略,特别是在处理大文件或者网络环境不稳定的情况下,能够提高下载效率并减少资源浪费。本项目提供的就是一个实现了多线程断点续传功能的Android下载器,它包含...

    android studio多线程下载

    在Android开发中,多线程下载是一项常见的技术,特别是在处理大文件或网络资源时,为了提高下载速度和用户体验,开发者通常会采用多线程来分块下载数据。Android Studio作为官方推荐的Android集成开发环境,提供了...

    android 多线程下载机制

    在Android平台上,多线程下载机制是提升应用性能和用户体验的关键技术之一,特别是在处理大文件如应用程序、视频或音频资源的下载场景中。通过利用多线程,我们可以将一个大文件分割成多个小部分,然后同时启动多个...

    Android多线程下载

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

    Android网络多线程断点续传下载 示例

    在Android开发中,网络多线程断点续传下载是一项重要的技术,特别是在处理大文件时,它可以提高下载效率,减少用户等待时间,并提供更友好的用户体验。本文将深入讲解这一主题,结合“Multi_thread_Download”这个...

    Android多线程下载Demo

    Android系统提供了一些基础的多线程下载框架,例如AsyncTask、IntentService等,但它们并不完全适合大文件的多线程下载。通常,开发者会使用更专业的库,如Volley、OkHttp或者自定义的下载管理器来实现这一功能。 ...

    Android多线程下载(二)

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

    android多线程异步下载图片

    在Android开发中,多线程异步下载图片是一项常见的需求,尤其在开发涉及大量图片展示的应用时,如社交应用、电商应用等。这样的技术能够提高用户体验,避免UI卡顿,因为图片加载工作不会阻塞主线程。下面我们将深入...

    Android多线程断点续传下载网络上的音/视频等各种文件

    在Android开发中,实现多线程断点续传下载网络上的音视频文件是一项重要的技能,尤其对于提升用户体验和节省用户流量至关重要。断点续传允许用户在暂停或因网络问题中断下载后,从上次停止的位置继续,而多线程则能...

    Android多线程详解与Demo

    在Android应用开发中,多线程是至关重要的技术,它能帮助我们实现应用程序的高效运行,提高用户体验。本文将深入探讨Android多线程的使用,包括其原理、常见方法以及如何通过实例进行实践。 首先,我们需要理解...

    android多线程实例

    在Android开发中,多线程是一项至关重要的技术,它使得应用程序可以同时执行多个任务,提升用户体验,特别是对于处理耗时操作如网络请求、数据库操作或大量计算时。本实例将深入探讨Android多线程的实践应用及理论...

    Android多线程实现简单字符串计数器

    在Android开发中,多线程是一项重要的技术,它能让应用程序同时执行多个任务,提升用户体验,尤其是在处理耗时操作如网络请求、数据计算等时。本示例“Android多线程实现简单字符串计数器”旨在教你如何在Android...

Global site tag (gtag.js) - Google Analytics