jim
jim

Reputation: 9138

Android CountDownLatch.await() freezes UI prematurely

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.

Upvotes: 3

Views: 3412

Answers (2)

Blackbelt
Blackbelt

Reputation: 157457

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

Upvotes: 2

Ovidiu Latcu
Ovidiu Latcu

Reputation: 72331

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.

Upvotes: 3

Related Questions