[hopefully this won't get posted twice.  i tried posting it 3 days ago
but have yet to see it on the group, so trying again...]

Can I rely on Timer and TimerTask to work properly on Android?

I have a background Service with a single Timer, and I schedule
(possibly multiple) TimerTask's via Timer.schedule()

At the beginning of each implemented TimerTask.run() method, I check
the TimerTask.scheduledExecutionTime() and compare it with the current
time.  Sometimes things are fine, and the difference is a small number
of ms.  But sometimes things are nowhere near fine, and the invocation
of my TimerTask is *way* late -- like multiple hours late.

Can an Android phone go into some deep sleep mode when it doesn't
think anything is going on that would cause a TimerTask to be so
late?  Can I not reliably use TimerTask for scheduling events, and
should I be using some Android-specific means (e.g. the AlarmManager,
or a Handler) instead?

I've searched around a bit, and while I can find numerous posts
suggesting Android-specific timing mechanisms, I have not found
anything that says that java.util.TimerTask shouldn't be sufficient,
the Android docs include no kinds of qualifiers, and this post (from
Mark Murphy, who's written several
good Android books) specifically mentions it as being available:

http://groups.google.com/group/android-developers/browse_thread/thread/42effa0b2deb1b49/74c79d801be765ad?lnk=gst&q=TimerTask#

Thanks for any help anyone may be able to provide.

- Rich
-- 
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

Reply via email to