使用异步任务(
As
yncT
as
k)来处理主线程中的耗时操作。将需要在主线程中执行的代码放在异步任务的doInBackground()方法中,然后在onP
os
tExecute()方法中更新UI。
以下是使用异步任务解决该问题的示例代码:
public class MainActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text_view);
new MyAsyncTask().execute();
private class MyAsyncTask extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... voids) {
// 在子线程中执行耗时操作
// ...
return "result";
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
// 在主线程中更新UI
textView.setText(result);