android应用多线程守护让你非常难杀死它

1、android 应用开启后启动一个服务

public class TestserviceActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

System.out.println("activity执行的线程id:"+ Thread.currentThread().getName() +"--"+

Thread.currentThread().getId());

System.out.println("activity的进程id:"+android.os.Process.myPid());

Intent intent = new Intent(this,Service1.class);

startService(intent);

}

}

2、第一个服务

public class Service1 extends Service {

@Override

public IBinder onBind(Intent intent) {

// TODO Auto-generated method stub

return null;

}

@Override

public void onCreate() {

// TODO Auto-generated method stub

System.out.println("服务1 被开启");

System.out.println("服务执行的线程id:"+ Thread.currentThread().getName() +"--"+

Thread.currentThread().getId());

System.out.println("服务的进程id:"+android.os.Process.myPid());

super.onCreate();

}

@Override

public void onDestroy() {

Intent intent = new Intent(this,Service2.class);

startService(intent);

super.onDestroy();

}

}

3、第2个服务

public class Service2 extends Service {

@Override

public IBinder onBind(Intent intent) {

// TODO Auto-generated method stub

return null;

}

@Override

public void onCreate() {

System.out.println("服务2 被开启");

super.onCreate();

}

@Override

public void onDestroy() {

Intent intent = new Intent(this,Service1.class);

startService(intent);

super.onDestroy();

}

}

4、清单文件里

<service android:name=".Service1"

android:process="cn.it.yqq"

></service>

<service android:name=".Service2"></service>

时间: 2024-12-04 18:28:41

android应用多线程守护让你非常难杀死它的相关文章

android应用多线程守护让你很难杀死它

1.android 应用开启后启动一个服务 public class TestserviceActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

Android中多线程编程(四)AsyncTask类的详细解释(附源码)

Android中多线程编程中AsyncTask类的详细解释 1.Android单线程模型 2.耗时操作放在非主线程中执行 Android主线程和子线程之间的通信封装类:AsyncTask类 1.子线程中更新UI 2.封装.简化异步操作. 3.AsyncTask机制:底层是通过线程池来工作的,当一个线程没有执行完毕,后边的线程是无法执行的.必须等前边的线程执行完毕后,后边的线程才能执行. AsyncTask类使用注意事项: 1.在UI线程中创建AsyncTask的实例 2.必须在UI线程中调用As

Android实现多线程断点续传

前言: 项目都快交付阶段了,客户说要改个需求,添加一个断点续传功能.在版本更新,杂志下载或者视频下载的时候实现断点续传.由于时间紧迫,想起了之前研究过一个demo代码,就直接修改使用了,根据自己的方式实现,但是核心代码没变.以后或许会用到,于是就专门写了个demo. 先看一下项目目录结构: db--->操作数据库的(创建数据库表,数据的增删改查.) util--->工具类 download--->实现下载(下载器以及自定义线程.) 这里以易信客户端的下载为例,简要介绍. String d

Android进阶——多线程系列之Thread、Runnable、Callable、Future、FutureTask

多线程系列之Thread.Runnable.Callable.Future.FutureTask 前言 多线程一直是初学者最抵触的东西,如果你想进阶的话,那必须闯过这道难关,特别是多线程中Thread.Runnable.Callable.Future.FutureTask这几个类往往是初学者容易搞混的.这里先总结这几个类特点和区别,让大家带着模糊印象来学习这篇文章 Thread.Runnable.Callable:都是线程 Thread特点:提供了线程等待.线程睡眠.线程礼让等操作 Runnab

Android实现多线程断点下载

本案例在于实现文件的多线程断点下载,即文件在下载一部分中断后,可继续接着已有进度下载,并通过进度条显示进度.也就是说在文件开始下载的同时,自动创建每个线程的下载进度的本地文件,下载中断后,重新进入应用点击下载,程序检查有没有本地文件的存在,若存在,获取本地文件中的下载进度,继续进行下载,当下载完成后,自动删除本地文件. 1. 定义布局文件需要用到的属性名及内容 2. 设置用户的Internet权限和关于SD卡的权限 <span style="font-size:14px;">

[Android学习笔记]Android中多线程开发的一些概念

线程安全: 在多线程的情况下,不会因为线程之间的操作而导致数据错误. 线程同步: 同一个资源,可能在同一时间被多个线程操作,这样会导致数据错误.这是一个现象,也是一个问题,而研究如何解决此类问题的相关工作就叫做线程同步. android中,处理线程同步的手段就是:锁 一般分为公平锁和非公平锁: synchronized(内部锁,互斥锁):synchronized是JVM提供的线程同步机制,如果出现问题,JVM能捕获异常,并释放资源,具体实现机制需要查看JVM源码 synchronized的使用特

Android中多线程下载列表的封装实现(含进度反馈)

来源:http://blog.csdn.net/u011638883/article/details/17347015 实现了一下Android中的文件多线程下载模块,支持自定义线程数.断点续传.下载任务的删除,添加等功能,这里封装了一下,功能已全部实现.不过由于使用的是最简单的手动线程数组及消息通知实现,可能还存在某些小问题.笔者会在后面的使用过程中再进行优化完善.先看一下程序测试效果,这里指定了5个下载任务,以及2个下载线程,具体如下: 要运行以上Demo需要自己搭建服务器,和简单,只需要把

13、Android的多线程与异步任务

课程目标:学习Android中异步操作的三大方式 重点难点:Handler与线程的关系   Handler消息队列的实现 考核目标: 使用Handler是异步的,它会建立新线程么? no Handler是在主线程内么? Handler的post 和 sentMessage方法,使用的是一个队列还是两个? 子线程中建立一个handler,然后sendMessage会怎样? 子线程建立handler , 构造的时候传入主线程的,Looper?  Yes          一.回顾Java多线程基础

Android之——多线程下载示例(一)

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46883927 一.概述 说到Android中的文件下载,Android API中明确要求将耗时的操作放到一个子线程中执行,文件的下载无疑是需要耗费时间的,所以要将文件的下载放到子线程中执行.下面,我们一起来实现一个Android中利用多线程下载文件的小例子. 二.服务端准备 在这个小例子中我以下载有道词典为例,在网上下载有道词典的安装包,在eclipse中新建项目web,将下载的