trong đơn đăng ký của tôi, tôi có một lớp cho nội dung giao diện người dùng, tên trong số đó là "SettingActivity".Tại sao AsyncTask chạy trong Đề tài chính của một ứng dụng?
Sau đó, để thực hiện một số công việc trong nền, tôi ràng buộc lớp UI này (SettingActivity) thành một Dịch vụ. Có hai phương thức được xác định trước trong Dịch vụ đó (được định nghĩa trong tệp .aidl), một là startTask(), phương thức kia là stopTask().
Trong phần startTask(), tôi đã thực hiện cuộc gọi đến AsyncTask. Nhưng khi tôi kiểm tra tên của Looper của AsyncTask này. Nó là "chính". Theo ý kiến của tôi, một AsyncTask sẽ bắt đầu một Chủ đề khác ngoài Chủ đề chính.
Vì vậy, không ai biết tại sao điều này xảy ra?
Các mã như sau:
@Override
protected void onPreExecute() {
super.onPreExecute();
Log.d(TAG, "onPreExecute "+Looper.myLooper().getThread().getName());
}
Then I will get main as the output.
Sẽ hữu ích nếu bạn có thể đăng một số mã mẫu. –