I've been doing some game development on Android and have been able to accomplish the majority of my drawing simply by using the glDrawTexfOES method from the GL extensions library. Using this for drawing my sprites seemed to yield good performance and I didn't have any complaints until I started trying to use it for bitmap fonts.
With the way I have my bitmap fonts set up right now, I read in the character definitions, texture, and character properties from an XML file in order to initialize my font class. Using these properties, a call is made to glDrawTexfOES and is formatted so that the requested character is drawn and scaled to the desired size. This works fine for smaller strings, but unfortunately requires a separate call to glDrawTexfOES for every single character drawn. As you can imagine, this causes noticeable lag and performance issues for larger strings.
Does anyone have advice for how I could render this more intelligently? I've heard about using VBOs for large groups of static objects, but I'm not sure if these are appropriate for the use case of having text that needs to be dynamic as well. Advice from someone who's implemented something similar with OpenGL ES would be much appreciated.