kernel logo到开机动画之间闪现黑屏(android 5.X)

kernel logo到开机动画之间闪现黑屏(android 5.X)

大家好,又见面了,我是全栈君。

在BootAnimation開始画图之前,会先做一次clear screen的动作,避免出现前面的图干扰到BootAnimation的显示。

通过check main_log先确认播放开机动画是哪个function。在相应function删除clear screen的动作的相应代码。
/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
 
/*-删除clear screen相应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);
/*-删除clear screen相应code-*/

462
463 glEnable(GL_TEXTURE_2D);
464 glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
465
……
 
 
594bool BootAnimation::movie()
……
/*-删除clear screen相应code-*/
700 // 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);
/*-删除clear screen相应code-*/
709
……
 
 
 
1128bool BootAnimation::MTKmovie()
……
/*-删除clear screen相应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);
/*-删除clear screen相应code-*/
1229
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115291.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号