Native Plasma

ndkのsamplesのnative-plasma。bitmap-plasma に比べて表示が滑らかな感じはするけれど、アプリを切り替えると まるで16bitのbitmapを32bitにcastして表示してるような状態になる。
http://www.slideshare.net/noritsuna/how-to-make-android-native-application
ここを見て、engine_handle_cmd 関数内で、case APP_CMD_INIT_WINDOW の時に、

ANativeWindow_setBuffersGeometry(engine->app->window, width, height, WINDOW_FORMAT_RGBA_8888);

を追加したら起動直後から同じ状態が再現出来た。つまり、一度バックグラウンドにしてまた表になった時に、WINDOW_FORMAT_RGBA_8888 に自動的になっていたって事だろうか…。きっと起動時は何も指定しないと大昔のように WINDOW_FORMAT_RGB_565 になって、だけどresume時に他のに変わったりするっていう事だろうか…。アプリ側がちゃんと作られていれば問題は回避出来そうだけれど…。