Actually, the cannon game & starter code both use at least *two* threads -- the default GUI thread, and game loop thread that they create/run.
I am not sure whether an additional thread is going to be helpful for you. I *doubt* that you want to explicitly create another thread. Some possibilities:
a) The emulator is just slow (especially on older hardware). Try running it on a physical device, and see if it runs smoothly. You might also try creating an emulator (like small jelly bean) that has a lower-resolution screen, in case the high-res graphics are part of the problem.
b) you are doing something slow or resource intensive (maybe loading images?) on the main thread, which should be offloaded into a background thread. You might consider using an AsyncTask for this: see http://developer.android.com/training/articles/perf-anr.html