You should not call recycle(), the system will do that for you.

On Mar 24, 1:38 pm, "Harsh Jain" <[EMAIL PROTECTED]> wrote:
> 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 [email protected]
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