cocos2d-x android:opengl error 0502问题

首先出现这个问题在android上非常普遍,基本都是因为游戏切换到主界面再切回来造成的,出现在cocos2d-x 2.1.3-2.1.5这些版本最多。

出现这个问题的原因有以下几点:

1、长时间锁屏切回

2、home切出切回

3、使用notification切回

这里1、2可能跟内存有关,建议在onpause的时候清除缓存,注意不要在主线程意外的地方让游戏切回。

3这个问题是因为今天我刚好遇到比较深刻,其实就是在notification切回的时候没有回到游戏的activity造成的,出错的代码如下:

Notification notification = new Notification(R.drawable.icon, getText(R.string.app_name), System.currentTimeMillis());

Intent notificationIntent = new Intent(this, MainActivity.class);

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

notification.setLatestEventInfo(this, getText(R.string.app_name), getText(R.string.heart_push), contentIntent);

notice.notify(NOTICE_TAG, notification);


而正确的方式应该是这样

Notification notification = new Notification(R.drawable.icon, getText(R.string.app_name), System.currentTimeMillis());

Intent notificationIntent = new Intent(this, MainActivity.class);

notificationIntent.setAction(Intent.ACTION_MAIN);

notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

notification.setLatestEventInfo(this, getText(R.string.app_name), getText(R.string.heart_push), contentIntent);

notice.notify(NOTICE_TAG, notification);

关键在于两行红色的代码,就解决了这个问题。



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。