startService() tells the system to start the service.  The Service callbacks
are still made on the main thread, as always.

On Fri, Mar 13, 2009 at 12:22 PM, Bob <bshumsk...@yahoo.com> wrote:

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


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