所以我使用CountDownLatch运行一些线程。
我的问题是,当我调用latch.await()时,UI似乎挂起,甚至预先调用的UI命令都没有效果。 e.g。
btnShare.setVisibility(View.INVISIBLE);
prgSharing.setVisibility(View.VISIBILE);
latch.await()
前两行对用户界面没有影响。
知道为什么这是可能的解决方案吗?感谢。
答案 0 :(得分:3)
这很可能是因为您阻止了UI-Thread
才能再次呈现Views
。我认为您应该查看AsyncTask
并将wait
逻辑放在doInBackground()
方法中,或以某种方式重新考虑您的实现。
答案 1 :(得分:2)
如果UI挂起,那是因为你打电话:
latch.await()
UI Thread.
上的您必须避免阻止UI线程上的调用,因为这些是ANR