Fatal signal 11 (SIGSEGV) 错误

时间:2025-02-08 08:35:28


5637-5637/ A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x00000088 (code=1), thread 5637 (.)

这是我在一个按键循环中,设置了runAction导致的。原因是,当我按下按键,触发事件onKeyDown,这个事件会隔一个短时间,被不断触发,导致短时间执行了大量的runAction,使得内存溢出。

解决办法就是在按键循环中,加入一定条件,避免短时间大量执行。

如下,把的条件从>=5改为==5.

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if(()==5){

            (TAG,"Keydown repeat ==5");
            ("buttonClick", "isAnger");
        } else if(()>=2){
            (TAG,"Keydown repeat");
            ("buttonClick", "isLighting");
        }
        return (keyCode, event);
    }
另外,还注意到如下错误
11-02 22:56:40.957  26348-26348/ D/cocos2d-x debug info﹕ Assert failed: reference count should greater than 0
引用reference count不足,也暗示了某个图像文件,被调用的次数过多了。