每日总结2023/3/12
今天初步学习了Android多线程
package com.example.text; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.Button; import android.widget.Toast; import java.lang.ref.WeakReference; public class MainActivity3 extends AppCompatActivity { private Button bt_handler_send; private class MyHandler extends Handler { //弱引用持有HandlerActivity , GC 回收时会被回收掉 private WeakReference<MainActivity3> weakReference; public MyHandler(MainActivity3 activity) { this.weakReference = new WeakReference(activity); } @Override public void handleMessage(Message msg) { MainActivity3 activity = weakReference.get(); super.handleMessage(msg); if (null != activity) { //执行业务逻辑 Toast.makeText(MainActivity3.this,"handleMessage", Toast.LENGTH_SHORT).show(); } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main3); //创建 Handler final MyHandler handler = new MyHandler(MainActivity3.this); bt_handler_send = findViewById(R.id.bt_handler_send); bt_handler_send.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread(new Runnable() { @Override public void run() { //使用 handler 发送空消息 handler.sendEmptyMessage(0); } }).start(); } }); } @Override protected void onDestroy() { //移除所有回调及消息 Handler myHandler = null; myHandler.removeCallbacksAndMessages(null); super.onDestroy(); } }


浙公网安备 33010602011771号