Michael, I had a look at
http://code.google.com/android/reference/android/os/MessageQueue.IdleHandler.html,
which is supposed to be called when the message queue is empty, but I
never received a call on it. I'm implementing it like this:
myHandler = new Handler() {
MessageQueue.IdleHandler foo = new MessageQueue.IdleHandler() {
public boolean queueIdle() {
//Do something
return true;
}
};
public void handleMessage(Message m) {
//Handle the message
}
};
Am I implementing it right?
@RomainGuy, just using post didn't help, but I think using post()
would be better to use if I was able to check the status of the
message queue (empty or not).
On Jan 13, 2:59 am, Michael MacDonald <[email protected]>
wrote:
> Try not posting a runnable on the receiving thread if one is already queued?
>
> Al wrote:
> > Hi all,
> > in my irc app, I'm trying to improve the responsiveness when it has to
> > deal with a lot of data at a single time.
>
> > At the moment, once the data is append()-ed to the textview, I post a
> > delayed runnable (100ms delay) back to the UI thread to make it scroll
> > right down to the bottom. Unfortunately, without the runnable being
> > posted, it doesn't seem to be possible to correctly calculate the
> > amount the ScrollView should scroll and often scrolls halfway only.
>
> > This works fine for normal situations and the program is fully
> > responsive. But when, there is a lot of channel activity, the queue of
> > Runnables start to strain the UI thread and it has trouble appending
> > the data as it arrives and occasionally causes an ANR.
>
> > My question is, how would I get around this? Without the Runnable, it
> > doesn't scroll correctly but with it, it causes problems. A possible
> > solution could be to detect when there is an influx of data and post
> > the Runnable less often, but I'm not sure how I would detect this.
>
> > Any ideas welcomed.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---