标签:
看一段代码:
package com.example.threaddemo;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
public class ThreadDemo extends Activity {
	private static final String TAG = "ThreadDemo";
	private int count = 0;  
	private Handler mHandler =  new Handler(); 
	private Runnable mRunnable = new Runnable() {
		
		@Override
		public void run() {
			 Log.e(TAG, Thread.currentThread().getName() + " " +count);  
			 ++count;  
			 setTitle("" +count); 
			//Performed once every two seconds
	        mHandler.postDelayed(mRunnable, 2000);  
		}
	};
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_thread_demo);
		 mHandler.post(mRunnable);  
	}
}
再进来。发现问题:
就是说,除了之前运行的runable,又多了一个
如何解决,在ondrestroy方法中添加
mHandler.removeCallbacks(mRunnable);
@Override
	protected void onDestroy() {
		mHandler.removeCallbacks(mRunnable);
		super.onDestroy();
	}标签:
原文地址:http://blog.csdn.net/howlaa/article/details/43483959