Thanks, also I couldnt find this in documentation anywhere, but should you
call msg.recycle() at the end in handleMessage() or the guy who calls
handleMessage does it automatically.

regards,
harsh

On Mon, Mar 24, 2008 at 10:26 PM, hackbod <[EMAIL PROTECTED]> wrote:

>
> It is more efficient to create one Handler that takes care of a bunch
> of events, than separate inner class Runnables for each of them.  So I
> would suggest something like this:
>
>  static final int MSG1 = 1;
>  static final int MSG2 = 2;
>
>  void do1() {
>  }
>
>  void do2() {
>  }
>
>  final Handler mHandler = new Handler() {
>    void handleMessage(Message m) {
>      switch (m.what) {
>        case MSG1: do1(); break;
>        case MSG2: do2(); break;
>      }
>    }
>  }
>
> In the examples below, if the Handler is only going to do one thing,
> then there is no difference really between it and a Runnable, so I
> would suggest using a Runnable.  But ideally you would do something
> like the above, a Handler that does multiple things.  And you can
> structure that however you want -- as an anonymous inner class like
> this, as a regular inner class, as a separate class, etc.
>
> On Mar 24, 2:58 am, "Harsh Jain" <[EMAIL PROTECTED]> wrote:
> > w.r.t andoid which of the two is better..
> > a) Implement runnables as inner classes and post it to a handler. Note
> here
> > variables can be directly accessed.
> >
> > class AService {
> >      String x, y, z;  // packaged scope for efficient access.
> >
> >      class B implements Runnable {
> >           void run() {
> >             x = y + z ;// do something with x,y,z
> >           }
> >       }
> >
> >       onCreate() {
> >            mWorker.handler.postRunnable(new B());
> >        }
> >
> > }
> >
> > b) Create a MyHandler extending handler and receive messages and
> translate
> > them to the appropriate action.
> >
> > class MyHandler extends Handler {
> >      AService a;
> >      public MyHandler(AService a) { }
> >
> >      void action1() {
> >          a.x = a.y + a.z // Do something with a's inner variables.
> >      }
> >
> >     void handleMessage(Message w) {
> >         action1();
> >     }
> >
> > }
> >
> > I guess people know what i mean.
> >
> > regards,
> > harsh
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
[EMAIL PROTECTED]
Announcing the new M5 SDK!
http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to