Android CountDownLatch.await() freezes UI prematurely
-
13-07-2021 - |
Question
So I am running some threads with a CountDownLatch.
My problem is that when I call latch.await() the UI seems to hang and even UI commands that were called beforehand have no effect. e.g.
btnShare.setVisibility(View.INVISIBLE);
prgSharing.setVisibility(View.VISIBILE);
latch.await()
The first two lines have no effect on the UI.
Any idea why this is and possibly a solution? Thanks.
Solution
This is most likely because you are blocking the UI-Thread
before it can render the Views
again. I think you should look at AsyncTask
and maybe put your wait
logic in the doInBackground()
method, or somehow re-think your implementation.
OTHER TIPS
if the UI hangs it is because you call:
latch.await()
on the UI Thread.
You have to avoid blocking call on the UI Thread since those are the cause of ANR
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow