Almost Ultimate control over memory management • Faster (?) Cons :- • No UI support • Many APIs not available via NDK Standard UI combined with C/C++ code invoked via JNI Pros :- • Easy access to java APIs • Leverage standard UI Cons :- • Adds GC overhead on UI • UI communication a hassle Hybrid approach vs
API OpenSL ES • OpenSL ES has a horrible & convoluted API • OpenAL-soft - Software impl of OpenAL with OpenEL ES as the backend https://github.com/AerialX/openal-soft-android
build https://github.com/MysticTreeGames/Boost-for-Android Boost::Bind, Boost::IO • tinyxml2 - small and efficient XML parser https://github.com/leethomason/tinyxml2 • libpng + libzip for compressed textures
to hit OOM with large bitmaps. • Modern phones (1 GB+ RAM) too Solution :- BitmapFactory.Options options = new BitmapFactory.Options(); options.inPurgeable = true; options.inInputShareable = true;