0
点赞
收藏
分享

微信扫一扫

Android 重新回顾经典异步类 AsyncTask


今天翻旧代码的时候,发现了这个东西,虽然年代久远,但也算一种耗时操作的解决方案。

使用 和 注意事项 请看 注释

如果还有不明白的地方,欢迎评论区留言

//初始化InnerTask 务必在主线程
new InnerTask().execute(queryParam);

private class InnerTask extends AsyncTask<QueryParam, Void, String> {

@Override
protected void onPreExecute() {
super.onPreExecute();
//显示加载框或者进度框 当前在: UI线程
}

@Override
protected String doInBackground(QueryParam... params) {
//执行耗时操作 当前在: IO线程
String result = "耗时操作后需要操作的数据"
return result;
}

@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//隐藏加载框或者进度框 当前在: UI线程
Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();
}
}

AsyncTask 内部方法的运转顺序:

onPreExecute() → doInBackground(参数:类型取决于泛型) → onPostExecute(参数:类型取决于泛型);

举报

相关推荐

0 条评论