在 Android 中主线程如何给子线程发 Message?

本文探讨了如何在 Android 应用中,从主线程向子线程发送 Message 以实现任务传递。通过创建一个 MyThread 子线程,使用 Looper 准备消息队列,并在主线程中通过 Handler 发送 Message,从而在子线程中处理。同时,展示了如何在适当的时候退出子线程的 Looper,避免内存泄露。
摘要由CSDN通过智能技术生成

这是一个很好玩的话题通常我们都是在 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值