I am porting a complex BREW application (which was in turn ported from J2ME) and I ran into a problem as soon as I went from emulator to device (as is always the case right?). My issue is that when the user changes orientation of the phone it will cause my activity to be destroyed, and my onCreate function to be called. This is a game so the state information is fairly complex with multiple collections of objects. My first naive approach was to create a state object to include the entire game state. I then return that object via onRetainNonConfigurationInstance. I grab it again in onCreate. While this works, it's non-optimal that I have to be shuttling around my entire game state. Is there any way to avoid that? Do any other game developers have techniques to work around that? It really seems like the Android was more geared toward RIA mobile applications then game development, unlike J2ME and BREW which basically caters to the game developers.