码迷,mamicode.com
首页 > 移动开发 > 详细

cocos2d-x android:opengl error 0502问题

时间:2014-09-23 23:06:35      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:android   style   color   io   os   使用   ar   sp   art   

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

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



cocos2d-x android:opengl error 0502问题

标签:android   style   color   io   os   使用   ar   sp   art   

原文地址:http://blog.csdn.net/iam_gaowei/article/details/39502313

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!