异步操作

    xiaoxiao2021-03-25  23

    实现异步操作三步的步骤:

    创建AsyncTask的子类, 并为三个泛型参数指定类型。如果摸泛型参数不需要指定类型,则可将它指定为Void.

           更具需求,实现AsyncTask的如下方法:

                           doInBackground(Params...):重写该方法就是后台线程将要完成的任务。 该方法可以调publishProgress(Progress... values)方法更新任务的执行进。

                           onProgressUpdate(Progress... values):在 doInBackground()方法中调用publishProgress()方法更新任务的执行进度后,将会触发该方法。

                           onPreExecute():该方法将在执行后台耗时操作前被调用。通常该方法用于完成一些初始化工作,比如在界面上显示进度条等。

                           onPostExceute(Result result):当DoInBackground()完成后,系统会自动调用onPostExecute()方法,并将doInBackground()方法的返回值创给该方法。调用AsyncTask()子类的实例的execute(Params... params)开始执行耗时操作。

    使用AsyncTask时必须遵循如下规则:

                 a.必须在UI线程中创建AsyncTask的实例

                 b.必须在UI线程中调用AsyncTask的execute()方法

                 c.AsyncTask onPreExecute(),onPostExceute(Resultresult),doInBackground(Params...),onProgressUpdate(Progress... values)方法,不应该有程序员代码调用,而是有Android系统负责调用。

               d.每个AsyncTask只能被执行一次,多次调用将会引发异常。

    转载请注明原文地址: https://ju.6miu.com/read-150389.html

    最新回复(0)