package de.bvb.test;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import java.lang.ref.WeakReference;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable() {
@Override
public void run() {
//3.子线程中发送消息
handler.sendEmptyMessage(1);
}
}).start();
}
@Override
protected void onDestroy() {
super.onDestroy();
//4.在onDestroy把消息对象从消息队列移除
handler.removeCallbacksAndMessages(null);
}
//2.创建handler的实例
private Handler handler = new MyHandler(this);
//1.创建静态的自定义Handler类
static class MyHandler extends Handler {
private WeakReference<Activity> mWeakReference;
//传入activity,加上弱引用
public MyHandler(Activity activity) {
mWeakReference = new WeakReference<>(activity);
}
//在handleMessage处理业务
@Override
public void handleMessage(Message msg) {
Activity activity = mWeakReference.get();
if (activity != null) {
switch (msg.what) {
case 1:
break;
default:
break;
}
}
}
}
}