这是一个很好玩的话题通常我们都是在 Activity 中,让子线程执行耗时任务,执行完之后给主线程发送消息让主 线程更新 UI。其实还有很多应用场景需要让主线程给子线程发送消息,该消息作为任务的载体,比如在 IntentService 中,主线程就给子线程发送了消息,让子线程干活。
给大家写个 Demo 演示主线程给子线程发送消息。
public class MainActivity extends Activity {
private Handler mMySubHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart() {
super.onStart();
/**
* 当 Activity 启动的时候创建一个子线程,并启动
*/
MyThread thread = new MyThread();
thread.start();
} /**
* 绑定布局中的点击按钮,点击后给子线程发送消息 *
* @param view
*/
public void click(View view){
Message msg = new Message();
msg.obj = “MainActivity”;
mMySubHandler.sendMessage(msg);
} /**
* 绑定布局文件中的按钮 2,点击后让子线程退出,关闭子线程 其实这里只需要让子线程的Lo