前几天改一个小问题用到了线程,涉及到线程就要考虑线程的开启和关闭。如果你想着不用的时候直接拿线程对象的Destroy方法就太天真了,相信你自己这样做都感到不敢相信。其实你的这种感觉是对的,Destroy方法的确是不能用的。
也去百度了一下,见到了两种方法:
第一种:用HandlerThread;
HandlerThread thread = new HandlerThread("MyHandlerThread");
thread.start();
mHandler = new Handler(thread.getLooper());
mHandler.post(mBackgroundRunnable);//mBackgroundRunnable为线程对象
第二种:直接用Handler;
Handler mHandler = new Handler();
mHandler.post(mBackgroundRunnable);//mBackgroundRunnable为线程对象
在销毁对象时使用mHandler.removeCallbacks(mBackgroundRunnable);