Correct it wouldn't work, since there is a lot of careful dispatching code in the window manager that this sleep trick is actually relying on.
There are many ways you can perform throttling, depending on your exact situation. For example: 1. Put a delay before you send a message, so if you get more information from the server during that time it can be batched together. 2. Watch for situations where you are generating many messages within a certain amount of time, and start batching/delaying when in that situation. 3. Have some mechanism to find out when the app is done processing a message, and don't send the next message until that occurs (batching activity from the server during that time). (Fwiw, this is basically what the window manager does for dispatching events to applications.) On Sun, May 17, 2009 at 5:47 PM, al capwn <[email protected]> wrote: > My app makes use of threads and uses handlers to send messages to the gui. > The thread maintain a connection to a server and receive messages from it. > > The problem I'm having is that sometimes messages arrive really fast, and > although the app doesn't anr, the UI freezes as it tries to cope with the > fast influx of messages in the queue. > > The rate at which messages arrive from the server is beyond my control, but > I need to find a way to throttle to make sure the UI stays responsive. I've > read about people having issues in games where touch events have a negative > effect on fps and they've used thread.sleep to throttle. Although similar to > my issue, I don't think it would work for me because both the UI and > background threads as just as important here. > > Does anyone have any other ideas for solving this? Thanks. > > > > -- Dianne Hackborn Android framework engineer [email protected] Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails. All such questions should be posted on public forums, where I and others can see and answer them. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

