今天翻旧代码的时候,发现了这个东西,虽然年代久远,但也算一种耗时操作的解决方案。
使用 和 注意事项 请看 注释,
如果还有不明白的地方,欢迎评论区留言。
//初始化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(参数:类型取决于泛型);










