
一般线程在使用时,都需要预先传入一些数据,比如网络请求的网址,读取的文件路径等等
这种方式是在创建线程对象的同时传递数据,保证了在thread.start()前获得到数据;如果想要传递更复杂的数据,可以使用集合、类等数据结构,如果数据比较多的时候,可以考虑使用第二种方法
向对象传递参数,一般有两种方式,一种是通过构造函数,另一种是通过setXXXX()方式,对对象进行赋值
暂略
新建一个子类继承自AsyncTask,三个参数:
效果
注意:创建Message对象时,Message msg = Message.obtain()如果消息池中有Message,则取出,如果没有在重新创建,避免重复创建,浪费资源。
Handler对象维护一个线程队列,有新的Runnable送来(post())的时候,把它放在队尾,而处理 Runnable的时候,从队头取出Runnable执行。当向队列发送一个Runnable后,立即就返回,并不理会Runnable是否被执行,执行 是否成功等。而具体的执行则是当排队排到该Runnable后系统拿来执行的。
向队列添加线程:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)