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