我的问题是,我有一个活动,并在那里我想采取的结果
read_list方法.但是read_list方法需要很长时间才能完成,
因此我想创建一个新的Thread,然后运行此方法
将其返回主活动.我知道我可以做类似的smt
AsyncTask,但是现在我想用这种方式来做.
public class Read<T> implements Runnable(){
Thread t;
read(){
t = new Thread(this);
t.start();
}
public void run(){
read_list();
}
public ArrayList<T> read_list(){
..........
return ArrayList<T>
}
}
主要活动:
public Name extends Activity{
.
.
.
Read<Data> read = new Read<Data>();
read.read_list();
}
问题:使用上述代码,我将激活一个新线程来执行
read_list方法?或者该方法将在主线程上执行?
最佳答案 新线程不会被执行,但是调用read.read()应该启动一个新线程
顺便说一句.我更喜欢使用匿名类,imho它更容易阅读:
public Name<T> extends Activity{
.
.
.
private List<T> stuff;
Runnable read = new Runnable(){
public void run(){
...
stuff = new ArrayList<T>(..);
}
};
read.start();
}