本文主要是介绍cocos2dx项目在android平台第一次安装的一个奇怪的bug,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
按理说这个问题我应该早就记录下来,但是一直没有时间,最近比较空闲,记录一下,以备以后查阅。
android的应用在第一次安装成功后,然后直接启动,此时进入到应用的界面,程序再退到后台,然后再进入到应用中,很奇怪的发现,测试系统走的不是onResume()方法,而是执行的是onCreate()方法,理论上来说,此时应该进入onResume方法,并且这种情况在以后(只要不是第一次安装成功后打开)都不会出现,都走的是onResume()方法。这个应该是android系统的一个bug,不知道现在有么有修复。 好了,接着说我们的游戏碰到这中bug会怎么样,别的应用我不知道,反正cocos2dx的项目,会导致字符变花,变成白色的方块。所以怎么解决呢,就是在onCreate()方法下加一条语句,用来判断,如果是新的创建的activity就把这个杀掉。如下:
if( (getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0 ){//Log.i(TAG, "new bad activity should delete ");finish();return;}
就能解决这个问题。
参考官方:https://code.google.com/p/android/issues/detail?id=14262。
这篇关于cocos2dx项目在android平台第一次安装的一个奇怪的bug的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!