展会信息港展会大全

cocos2d-x android:opengl error 0502问题
来源:互联网   发布日期:2015-09-28 10:37:33   浏览:1912次  

导读: 首先出现这个问题在android上非常普遍,基本都是因为游戏切换到主界面再切回来造成的,出现在cocos2d-x 2.1.3-2.1.5这些版本最多。 出现这个问题的原因有以下几点: 1、长时...

首先出现这个问题在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);

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

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港