Android CoroutineScope Dispatchers.Main main thread delay, kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.view.View.OnClickListener
import android.widget.Button
import android.widget.Toast
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
companion object {
var TAG = "fly"
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//点击按钮正常弹出Toast
findViewById<Button>(R.id.button).setOnClickListener(object : OnClickListener {
override fun onClick(v: View?) {
Toast.makeText(
applicationContext,
TAG + " @${Thread.currentThread().id}",
Toast.LENGTH_SHORT
).show()
}
})
Log.d(TAG, "1 @${Thread.currentThread().id}")
CoroutineScope(Dispatchers.Main).launch {
delay(20_000)
var id = Thread.currentThread().id
Log.d(TAG, "launch @$id")
}
Log.d(TAG, "2 @${Thread.currentThread().id}")
}
}