android中开启线程
来源:互联网 发布:广州游戏编程培训 编辑:程序博客网 时间:2024/05/19 03:23
其实Android启动线程和JAVA一样有两种方式,一种是直接Thread类的start方法,也就是一般写一个自己的类来继承Thread类。另外一种方式其实和这个差不多啊! 那就是Runnable接口,然后把Runnable的子类对象传递给Thread类再创建Thread对象.总之都是需要创建Thread对象,然后调用Thread类的start方法启动线程。区别就是,一个是直接创建Thread对象,另外一个是需要implement了Runnable接口对象作为创建Thread对象的参数。Runnable其实我们称为线程任务。 第一种方式一般是这样用: Class MyThread extends Thread{ public void run(){ //你要实现的代码 } } 在主线程中启动这个线程: public class Test{public static void main(String[] args){ new MyThread().start();//启动了我们的线程了}}2,第二种方式一般是这样用:public class MyRunnable implements Runnable{public void run(){//你需要实现的代码}}在主线程中启动这个线程:public class Test{public static void main(String[] args){ Thread t=new Thread(new MyRunnable());//这里比第一种创建线程对象多了个任务对象t.start();}} 这里我想说的是可能你问这个问题是接触到了Android中的Handler概念: 其实Handler并不是开辟新线程的概念,Android主要的考虑到更新界面的问题,一般情况下,更新界面(Activity)都是在主线程中更新的,这样就遇到了一个问题,比方说:在下载文件时候我们需要进度条显示下载进度,界面需要更新(数据是不断变的,也就是下载的大小是不断变的,要是直接在主线程中更新,就会造成程序的堵塞,程序很容易崩溃,通常这样联网耗时的工作需要开辟另外一个线程的,这样就不会影响主程序了),好了,到这里联网操作一般都需要开辟新线程了吧。。 接下来就来说Handler了,刚刚我说了Handler不是开辟新线程,在我看来,Handler更像是主线程的秘书,是一个触发器,负责管理从子线程中得到更新的数据,然后在主线程中更新界面。简单说下进度条的那个: 下载了多少的数据都是在子线程中得到的,在子线程中通过Handler的sendMessage()方法发送得到的下载的数据,当你调用了sendMessage方法后,Handler就会回调(也就是自动调用)Handler中的 HandlerMessage方法。 我很认真写了,希望分给我! 要是还有不懂的,可以追问,总之Handler不是开辟线程,开辟线程的方式就和JAVA一样的! 千万不要被Android中的Handler混淆
0 0
- android中开启线程
- android中开启线程
- android中开启线程
- android中开启线程
- android中开启线程
- android中开启子线程
- android中开启子线程
- android中线程的开启,访问网络
- Android 开启新线程
- Android开启子线程
- 线程中开启AO
- web 中开启线程
- Android中开启一个空线程会占用多少内存
- Android中开启一个空线程会占用多少内存
- android开发:如何开启线程
- Android线程开启与关闭
- Android 开启一个新线程
- MFC中开启新线程
- linux c md5加密 使用 openssl
- 解决Win7启动网络共享出现错误提示1061的方法
- 11种提高Java性能的写法
- theano+pylearn2 windows 64位安装与配置
- C++ Primer学习之(5)——表达式
- android中开启线程
- Win7系统桌面右下角显示黄色感叹号的解决方法
- QT 判断当前焦点是否在某控件上
- Swift Objective-C混用
- WebDriver中如何给元素设置焦点
- 选择器中含有特殊符号的注意事项
- 视图分割与视图之间通信
- Android服务之Service(其一)
- 模态视图