Before bootanimation starts drawing, it will do a clear screen action first, to avoid the previous diagram interference to the bootanimation display.
Check Main_log first confirm which function is playing the boot animation. Delete the corresponding code for the action of clear screen in the corresponding function.
/frameworks/base/cmds/bootanimation/bootanimation.cpp
450bool bootanimation::android ()
451{
452 inittexture (&mandroid[0], massets, "images/android-logo-mask.png");
453 Inittexture (&mandroid[1], massets, "images/android-logo-shine.png");
454
/*-remove clear screen corresponding code-*/
455//Clear screen
456 Glshademodel (Gl_flat);
457 gldisable (Gl_dither);
458 gldisable (gl_scissor_test);
459 Glclearcolor (0,0,0,1);
460 Glclear (Gl_color_buffer_bit);
461 Eglswapbuffers (Mdisplay, msurface);
/*-remove clear screen corresponding code-*/
462
463 glenable (gl_texture_2d);
464 GLTEXENVX (gl_texture_env, Gl_texture_env_mode, gl_replace);
465
......
594bool Bootanimation::movie ()
......
/*-remove clear screen corresponding code-*/
/Clear Screen
701 Glshademodel (Gl_flat);
702 gldisable (Gl_dither);
703 gldisable (gl_scissor_test);
704 gldisable (Gl_blend);
705 Glclearcolor (0,0,0,1);
706 Glclear (Gl_color_buffer_bit);
707
708 Eglswapbuffers (Mdisplay, msurface);
/*-remove clear screen corresponding code-*/
709
......
1128bool Bootanimation::mtkmovie ()
......
/*-remove clear screen corresponding code-*/
1222//Clear screen
1223 gldisable (Gl_dither);
1224 gldisable (gl_scissor_test);
1225 gldisable (gl_blend);
1226 Glclear (gl_color_buffer_bit);
1227
1228 Eglswapbuffers (Mdisplay, msurface);
/*-remove clear screen corresponding code-*/
1229
Kernel logo flashes black screen between boot animations (Android 5.X)