问题描述
- 异步任务如何阻塞主线程
-
我在欢迎页面调用的百度定位的API,它是异步的任务,有时如果网络不够快,下面的代码继续执行时就会挂APP,因为欢迎页跳转后,后面的Activity有用到返回的数据,请问下大神有应该怎么阻塞它呢?我想让它返回结果后在继续执行我下面的代码
解决方案
不要阻塞主线程,不然异步就没意义了,还不如同步。你可以用事件通知主线程,主线程之后的代码放在事件中。
解决方案二:
就是主线程的跳转界面的代码放在事件回调中
解决方案三:
你可以把activity中需要返回数据部分的UI先不显示或者放一些缺省值。等异步返回了再更新
解决方案四:
主线程不能挂的,建议把异步任务丢到主线程所在的activity的底端,然后主线程的显示ui对象丢到完成异步任务的方法里进行更新,这样就可以实现主线程根据返回结果来更新UIle
时间: 2024-11-02 08:07:03