博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
👉点击跳转到网站
前言:
简单介绍:
AsyncTask是标准Java线程的一个包装类,它封装了最常见的模式:在子线程中执行后台工作,然后与UI线程同步以发送进度和最终结果。AsyncTask允许以串行或并行的方式或者通过自己的线程池执行后台的任务。
AsyncTask类实现了将耗时的操作移到了后台线程中,然后与UI线程同步以报告更新,并在处理完成后再次同步UI线程的最佳实践模式。
AsyncTask类指定了三个泛型参数,AsyncTask<Params, Progress, Result>
- Params,在执行AsyncTask时需要传入的参数,可用于在后台任务中使用。
对应doInBackground(Params)方法中的参数类型。 该方法中的返回值,则会作为参数传递到onPostExcute(Result)方法中 - Progress。后台任务执行时,如果需要在界面上显示当前的进度,则使用这里指定的泛型作为进度单位。
对应onProgressUpdate(Progress)方法中的参数类型 - Result。当任务执行完毕后,如果需要对结果进行返回,则使用这里指定的泛型作为返回值类型。
对应onPostExe