>> If you have lots of work to do, do it in a background thread.

Thanks, I thought I running on a different thread by calling the
service from a background thread.  Have I done this incorrectly or
should I not be using the context object?

public void openInitialThread() {
            Thread updateThread = new Thread(null, backgroundRefresh2,
"new_thread");
                  updateThread.start();
          }

                private Runnable backgroundRefresh2 = new Runnable() {
                  public void run() {
                          ComponentName service=_context.startService(new Intent
(_context,InitialContentService.class));

                  }
                };

On Mar 13, 12:56 pm, Dianne Hackborn <hack...@android.com> wrote:
> Um...  it sounds like you are just doing a lot of work in the main thread,
> and getting an ANR dialog.  Don't do that. :)  If you have lots of work to
> do, do it in a background thread.  All Service callbacks happen on the main
> thread.
>
>
>
> On Fri, Mar 13, 2009 at 11:16 AM, Bob <bshumsk...@yahoo.com> wrote:
>
> > Thanks, I'll look more at the logs for crash issue.  But regardless of
> > the crash, am I correct in thinking that if I call a service it should
> > do its processing in the background and the main UI thread should
> > immediately update?  For this does it matter whether I start the
> > service from a background thread or not?  The crash doesn't occur for
> > a while into the processing but in the mean time my UI is not
> > progressing.
>
> > On Mar 13, 11:03 am, Dianne Hackborn <hack...@android.com> wrote:
> > > At the very least, you should include (and look at!) the stack crawl of
> > the
> > > crash.  That will usually tell you all you need to know about why it
> > > crashed.  The stack crawl is in the log.
>
> > > On Fri, Mar 13, 2009 at 9:39 AM, Bob <bshumsk...@yahoo.com> wrote:
>
> > > > Thanks for your quick response.  It doesn't access or modify any
> > > > views.  It accesses the context to read in some raw resources and
> > > > writes to the sqllite database also via context.
>
> > > > On Mar 13, 9:32 am, Streets Of Boston <flyingdutc...@gmail.com> wrote:
> > > > > Hi Bob,
>
> > > > > Your code snippet is not enough to give you some more info.
> > > > > E.g. how does backgroundRefresh2 looks like (it public void run()
> > > > > implementation).
>
> > > > > Based on its name 'backgroundRefresh2': does it access View-s and
> > > > > modify these view (e.g. update text-view, images, etc.)?
> > > > > If so, that may explain your crash. You should not access any View
> > (or
> > > > > subclass of View) in any other thread than your main message-
> > > > > dispatching thread (i.e. the thread on which your onCreate/onDestroy/
> > > > > onPause/onResume/on<anything> is called).
>
> > > > > On Mar 13, 11:05 am, Bob <bshumsk...@yahoo.com> wrote:
>
> > > > > > Hi,
> > > > > > I have moved some intensive processing from my main thread to a
> > > > > > service.  My UI is hanging and then crashing when I start the
> > service,
> > > > > > even if I put the service start in a new thread started via
>
> > > > > >  Thread updateThread = new Thread(null, backgroundRefresh2,
> > > > > > "new_thread");
> > > > > >                   updateThread.start();
>
> > > > > > What am I doing wrong?  Also, it seems like the cause of the
> > eventual
> > > > > > crash in the service/worker thread doesn't show up in LogCat.
>
> > > > > > Thanks,
> > > > > > Bob
>
> > > --
> > > 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.  All such questions should be posted on public
> > > forums, where I and others can see and answer them.
>
> --
> 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.  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