我有一个带有事件方法的类,它经常被调用。假设方法名称是:onClicked。在方法内部,我会创建一个线程来做一些事情。
首先,我尝试在事件方法中创建一个线程对象。代码是这样的:
public class MyService {
//Event method
public void onClick() {
new Thread(new Runnable() {
@Override
public void run() {
// do some stuff here
}
}).start();
}
}
但是由于经常会调用 onClick,所以我担心每次调用事件方法时创建的新线程对象是否会产生内存空间或性能问题?
或者,我可以像这样创建一个类成员线程解决方案:
public class MyService {
private Thread myThread;
//Event method
public void onClick() {
myThread = new Thread(new Runnable() {
@Override
public void run() {
// do some stuff here
}
});
myThread.start();
}
}
那么哪个代码更好呢?第一还是第二?还是有其他更好的解决方案?