Android异步问题?

时间:2017-07-06 03:07:18

标签: java android android-studio asynchronous android-asynctask

我有一个函数,它在对700个图像进行操作后返回一个列表。 该功能需要一些时间,因此应用程序冻结。如何克服这个问题? 我正在返回要显示的所有图像的列表,所以我现在被卡住了。 任何带代码的建议都会有所帮助。

3 个答案:

答案 0 :(得分:0)

您想要管理 1x主UI 700x图片吗?

您可以在UI线程中使用名为" finishedImages"的公共视图变量,然后在每个700x返回数据线程中使用相同的方法:

increments finishedImages
if finishedImages == 700

 then run 1x public method to do the update of the UI

。只有这样它才会更新背景幕上的用户界面asychtasks。

答案 1 :(得分:0)

处理这些数据量的最佳选择是使用IntentService。这是很好的教程https://code.tutsplus.com/tutorials/android-fundamentals-intentservice-basics--mobile-6183 您可以触发意向服务onCreate活动或按下按钮。您必须在活动上注册BroadcastReceiver,任务完成后,UI将更新onReceive BroadcastReceiver。

答案 2 :(得分:0)

在Async的doInBackground()中运行代码。

您还可以在服务中以异步方式执行任务。它不会打扰你的应用程序。(如果任务太长)

你可以在onPostExecute()中得到你的结果。