SDL has had ports to the iPhone and homebrew NintendoDS for quite some time now, and older versions of SDL are also used in webOS and homebrew PSP development (SDL 1.3 is supposedly available as part of webOS “PDK” now too). Last year it gained an Android port as well. However, it hasn’t meant the demands of these lower-power devices.
The typical SDL application polls for events and then draws, with no idea of the demands of these low-power systems in maintaining battery life. In fact, SDL doesn’t provide any sort of “should redraw” notification for applications intended to run on these devices. Applications running in such a manner will kill the battery rather quickly compared to apps that correctly render only when needed (the programmer will know: render when the screen needs to be updated, or after a “should redraw” event happens). This would be the equivalent of a Win32 application using WM_PAINT, an X11 application using the “Expose” event, an OS X application overriding NSView’s drawRect member function, an iOS application overriding UIView’s drawRect member function, or an Android application overriding android.view.View’s onDraw member function/android.opengl.GLSurfaceView.Renderer’s onDrawFrame member function.
Another issue is low memory warnings. I know for a fact that both Android (android.app.Activity’s onLowMemory() function) and iOS (UIApplicationDelegate’s applicationDidReceiveMemoryWarning function) provide these warnings, SDL should generate an event for them.
Just thoughts as I was researching Android and iOS application development. Good luck.------------------------
EM3 Nathaniel Fries, U.S. Navy