This answer is true and correct, but could have used a little more 
explanation. The Timer class is included because it is expected in Java. 
But it is not particularly suitable for the way tasks and processes should 
be handled on an Android phone. Handler is. The OP can define an arbitrary 
message and get the effect of a timer by posting the message to the 
pre-existing queue with sendMessageDelayed(arbitraryMessage, 
timerInterval). Or if more convenient, instead of a message, put the 
Runnable you want executed on the queue with postDelayed(Runnable). The 
choice of which is best depends on your application's individual 
circumstances, but I prefer the message approach, unless doing a splash 
screen (for which see 
http://stackoverflow.com/questions/5486789/how-do-i-make-a-splash-screen-in-android).

Now for 'suitable', what I mean is: if you (the OP) use the Message 
approach, you do not have to define your own thread for the Timer, so you 
sidestep all the issues of thread management, letting the system handle it. 

See the class reference for Handler for details.

On Friday, March 23, 2012 1:33:19 PM UTC-7, Dianne Hackborn wrote:
>
> Handler.
>
> Just don't use Timer, Handler is the Android-centric mechanism.
>
> On Thu, Mar 22, 2012 at 10:53 PM, Perumss Naren <peru2...@gmail.com>wrote:
>
>> Hi ,
>>
>>             which way is best in performance is Handler or timer i need 
>> to update textview as timer every second need to update time so  which one 
>> will be best please tell the reason. because i need the reason thanks in 
>> advance
>>
>> public void onCreate(Bundle savedInstanceState) {
>>         super.onCreate(​savedInstanceState);
>>         setContentView(R.layout.main);
>>         
>>         timer = (TextView) findViewById(R.id.timer);
>>
>>        // handler.post(mRunnable);
>>         task = new UpdateTimeTask();
>>         handler.post(task);
>> }
>>              
>>
>> private Runnable mRunnable = new Runnable() {
>>         @Override
>>         public void run() {
>>             timer.setText(dateFormat.​format(new Date()));
>>             handler.postDelayed(mRunnable, 1000);
>>         }
>>     };
>>
>>     class UpdateTimeTask extends TimerTask {
>>         public void run() {
>>             timer.setText(dateFormat.​format(new Date()));
>>             handler.postDelayed(task, 1000);
>>         }
>>     }
>>
>>
>> -- 
>> Regards,
>>
>> Perumal.N
>>
>>  -- 
>> You received this message because you are subscribed to the Google
>> Groups "Android Developers" group.
>> To post to this group, send email to 
>> android-developers@​googlegroups.com<android-developers@googlegroups.com>
>> To unsubscribe from this group, send email to
>> android-developers+​unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com>
>> For more options, visit this group at
>> http://groups.google.com/​group/android-developers?hl=en<http://groups.google.com/group/android-developers?hl=en>
>
>
>
>
> -- 
> Dianne Hackborn
> Android framework engineer
> hack...@android.com
>
> 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 android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to