[cocos2d-x] android jni call to OpenGL ES API with no current context

本文探讨了一种使用消息推送延时技术解决界面切换问题的方法,通过在队列中处理UI线程调用,避免了直接操作导致的卡顿现象。详细介绍了技术实现步骤及优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I first encountered this problem,哎 还是用中文写吧

第一次遇到这样的问题,卡主了。

在Q上问了下token大神,大神是这样做的:创建队列,在GL线程监听任何来自UI线程的调用,将任何调用放入队列中。大神的方法说起来简单,实现起来难,就没尝试。

百度后,各种方法用尽,不是切换不到想要的界面就是,就是切换过程崩了。但是蹦了却给我了希望,因为我看到了我想要的界面。想想为什么会蹦啊,是不是处理不过来啊?

所以 我用了 消息推送延时 like this:   

public static void runNativeCallback(final String token) {
        MsgHandler.postDelayed(
        new Runnable(){
        @Override
        public void run(){
            Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable()
            {
                @Override
                public void run()
                {  
                    SDKInterface.returnTokenString(token);
                }
            });
        }
        },1000);

    }

刚开始设置100 ,还是蹦了,但是设置了1000后 一切OK。   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值