android ASYNC任务太慢了

时间:2018-03-15 02:15:53

标签: android performance

所以我在Android中有一个按钮。

按下此按钮时,它会运行ASYNC任务,然后在屏幕上显示此任务的结果。但是,在异步任务完成之前,显示结果的代码正在运行。有解决方案吗?

                size = 0;
                new initTask().doInBackground(); //get results
                setUpSeekBar();//display
                FillCards();//display

2 个答案:

答案 0 :(得分:0)

您需要在onPostExecute的{​​{1}}方法中显示结果(一旦后台任务完成,它就会自动调用)。您可以使用in-line async task

AsyncTask

答案 1 :(得分:0)

您自己调用doInBackground()代码的代码问题。使用Asynctask时,这不是有效的通话。你应该调用execute(),它会自动调用Task(doInbackground())。这是execute(Params... params)的作用。

  

使用指定的参数执行任务。任务返回自身(this),以便调用者可以保留对它的引用。

因此,您应该将代码更改为。

new initTask().execute();

并使用AsyncTask's方法在屏幕上显示结果,即onPostExecute(Result result)