Hey guys, thanks. I will consider using different activities for the menu part.
If your menu uses standard views (panels, labels, buttons, etc.), it is maybe more convenient to use different activities for each submenu. But if you draw completely your menu (with graphic functions), there's no need to switch to other activities. You just erase the display and you draw another menu. As you want to do an animated menu with an animated background, it's probably the way to go.
I'm having trouble passing the activity as a parameter to my game class so I can draw stuff to it easily
That will be easier to understand with a bit of code.
but I wasn't sure how slow that would be v.s. some light code to draw all the stuff using a canvas to a bitmap, then draw that bitmap when completed, to the screen (double buffering).
To use this technique, you have to prepare your scene in a separate thread (because you won't have the time in the main thread). It's possible with a class named SurfaceView. Unfortunately, I know no library for B4A that wraps this class, and the technique is considered deprecated by Google. SurfaceView doesn't (and won't) benefit from the hardware acceleration, so forget the idea.
If possible without requiring the hardware acceleration manifest entry that needs jelly bean.
The rendering pipeline of Android benefits from the hardware acceleration since Honeycomb (3.0). Not using the HA is a very big mistake because that adds not only speed to your drawings, but also smoothness to their animation (JB, for example, uses a triple buffering).
People have been making games for much longer than when jelly bean came out, probably even without any acceleration and still managed to make things smooth.
That's right. These people use the OpenGL ES API. OpenGL uses the GPU for its rendering, so it is always hardware accelerated. On devices under Gingerbread or Froyo, nothing can beat its performance. That's less true since Honeycomb.
B4A has two libraries giving you access to the API, so you can try it.
OpenGL is complex and needs more than a couple of weeks to be learnt. Probably many months to be mastered at a decent level. Java users have an easy solution: they use a game engine. That eases a lot the use of OpenGL. Unfortunately, B4A has no game engine (I mean nothing that can really deserve this name) and the only class made with OpenGL to make it more easy to use has poor performance. It's a common problem with OpenGL: if you don't master it and cannot use at its best, you won't get the performance that you expect. That's why it's probably better to consider alternatives. There are two for B4A: GameView and Accelerated Surface. Try them and make your own opinion.