安卓中实现异步任务一——直接new Thread
问题背景
上篇文章大致介绍了几种安卓汇总实现异步任务的方法,讲得比较简要,有朋友问到具体的实现方式,现在开始分列几篇文章详细介绍这几种异步的具体实现。持续更新。
实现demo
现在介绍第一种方式,这个是比较常见的,和java中是一样的。 具体代码如下:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class ThreadActivity extends AppCompatActivity {
private static final String TAG = "ThreadActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_thread1);
Log.d(TAG, "TAG onCreate " + Thread.currentThread().getId() + " "
+ Thread.currentThread().getName());
runInNewThread();
}
private void runInNewThread() {
new Thread() {
@Override
public void run() {
try {
// 模拟执行耗时任务
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.d(TAG, "runInNewThread" + Thread.currentThread().getId() + " " + Thread.currentThread().getName());
}
}.start();
}
}
日志如下:
可以看到主线程(UI线程)和子线程的相关信息。