我有这个线程从服务器下载一些图像。因此,一旦下载图像,我就会调用处理程序并进行UI更新。因此,由于线程的stop()已弃用,我无法使用它。我这里有两个问题。
这是我的代码。
handler=new Handler()
{
public void handleMessage(Message msg)
{
if(msg.what==0)
{
//UI Updation takes place.
}
}
};
final Thread t = new Thread(new Runnable() {
public void run() {
Log.i("Inside Thread", "Downloading Images...");
myDownlaodMethod();
handler.sendEmptyMessage(0);
}
});
t.start();
答案 0 :(得分:6)
线程将自行结束并死亡。你不必自己结束它。如果不创建新的Thread
对象,您将无法重新启动它。垃圾收集器将处理需要释放的内存。只要您持有对象的引用,该对象就会保留在内存中。删除引用,垃圾收集器将删除对象。
答案 1 :(得分:0)
您应该查看ExecutorService和Executors。
如果它与普通Java相同,那么它提供了一些强大的线程管理,包括立即关闭所有线程。