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