安卓 多线程
来源:互联网 发布:linux从入门到精通 编辑:程序博客网 时间:2024/06/15 02:57
方法1:创建单独的线程
new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubDoingwork();}}).start();
方法2:利用线程池:
private ExecutorService executorService = Executors.newFixedThreadPool(4);上面是创建一个固定大小的线程池,这里面的线程不会被关闭,一旦有任务则会分配给线程,但是如果线程都在执行,则排队等候
private ExecutorService executorService = Executors.newCachedThreadPool();这样则是创建一个缓存的线程池,线程被创建之后不会立即被销毁,而是作为备用线程缓存在那里,当一个任务结束之后马上又有第二个任务,这个线程就会去执行第二个任务,省去了创建线程和销毁线程的步骤,节省开销
将任务投入线程池的方法:
executorService.submit(work);其中的work是Runnable类
任务需要这样写:
Runnable work = new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubDoingwork();}};
线程中操作UI的方法
方法之一是handler:
final Handler handler = new Handler(){@Overridepublic void handleMessage(Message msg){super.handleMessage(msg);if(msg.what == 1){ UIWork();}}};msg是为了区分不同的UI操作,比如点这个按钮就改变这个label,点那个按钮就改变那个图片,需要写不同的message
下面是线程中的操作:
Message message = new Message();message.what=1;handler.sendMessage(message);这样的话UIWork()就会在主线程中完成,而不是在创建的线程中,因此不能在handler中执行耗时任务
0 0
- 安卓多线程下载
- 安卓-----多线程下载
- 安卓多线程下载
- 安卓多线程处理
- 安卓 多线程
- 安卓多线程总结
- 安卓多线程模板
- 安卓--实现多线程断点续传
- 安卓多线程使用总结
- 安卓 多任务 多线程 断点 下载
- 安卓开发-多线程操作Sqlite问题
- 安卓多线程中toast错误
- 安卓 下载多线程带进度条
- 安卓 下载多线程带进度条
- 安卓多线程——AsyncTask
- 安卓多线程处理(转)
- 安卓多线程分段下载文件
- Android(安卓)多线程原理理解
- R语言展示
- java 堆栈的区别
- windows系统镜像下载
- Deepin Ubuntu 等系统下获取root权限,以root账户登陆
- 关东升 IOS
- 安卓 多线程
- 单例这种设计模式
- charSequence
- yum安装mysql
- dsa算法(18)
- Note of Chap5
- java+内存分配及变量存储位置的区别
- android raw与assets区别
- 零碎知识整理笔记