小游戏运行中被终止
发布于 6 年前 作者 jing55 4976 次浏览 来自 问答

自己写的小游戏,运行到一半,提示会导致微信响应变慢而被终止,然后就退出了,有时候是微信闪退。

不知道是什么原因,看代码没有什么问题,就是用context.drawimage方法,在每一帧里面绘图,没有内存泄漏。

遇到这种问题不知道去定位问题,如何修复问题?

8 回复

就是说,每一帧都只调用了 drawimage ?

你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码示例。

代码是这样的。

理论上不应该导致微信变慢啊。能告诉是什么原因会造成这样?

这个数组超了吗?如果超了,有什么办法吗?感觉问题不大啊。

this.shapesData = new Array()

this.shapesData[0] = [

{

width: 2,

height: 2,

matrix: [{

x:0,

y:0

},

{

x: 0,

y: 1

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

}]

},

{

width: 2,

height: 2,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

}]

},

{

width: 2,

height: 2,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

}]

},

{

width: 2,

height: 2,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

}]

}

]

this.shapesData[1] = [

{

width: 4,

height: 1,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 0,

y: 2

},

{

x: 0,

y: 3

}]

},

{

width: 1,

height: 4,

matrix: [{

x: 0,

y: 0

},

{

x: 1,

y: 0

},

{

x: 2,

y: 0

},

{

x: 3,

y: 0

}]

},

{

width: 4,

height: 1,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 0,

y: 2

},

{

x: 0,

y: 3

}]

},

{

width: 1,

height: 4,

matrix: [{

x: 0,

y: 0

},

{

x: 1,

y: 0

},

{

x: 2,

y: 0

},

{

x: 3,

y: 0

}]

}

]

this.shapesData[2] = [

{

width: 3,

height: 2,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 1,

y: 1

},

{

x: 1,

y: 2

}]

},

{

width: 2,

height: 3,

matrix: [{

x: 0,

y: 1

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

},

{

x: 2,

y: 0

}]

},

{

width: 3,

height: 2,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 1,

y: 1

},

{

x: 1,

y: 2

}]

},

{

width: 2,

height: 3,

matrix: [{

x: 0,

y: 1

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

},

{

x: 2,

y: 0

}]

}

]

this.shapesData[3] = [

{

width: 3,

height: 2,

matrix: [{

x: 0,

y: 0

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

},

{

x: 1,

y: 2

}]

},

{

width: 2,

height: 3,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 1,

y: 0

},

{

x: 2,

y: 0

}]

},

{

width: 3,

height: 2,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 0,

y: 2

},

{

x: 1,

y: 2

}]

},

{

width: 2,

height: 3,

matrix: [{

x: 0,

y: 1

},

{

x: 1,

y: 1

},

{

x: 2,

y: 1

},

{

x: 2,

y: 0

}]

}

]

this.shapesData[4] = [

{

width: 3,

height: 2,

matrix: [{

x: 0,

y: 2

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

},

{

x: 1,

y: 2

}]

},

{

width: 2,

height: 3,

matrix: [{

x: 0,

y: 0

},

{

x: 1,

y: 0

},

{

x: 2,

y: 0

},

{

x: 2,

y: 1

}]

},

{

width: 3,

height: 2,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 0,

y: 2

},

{

x: 1,

y: 0

}]

},

{

width: 2,

height: 3,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 1,

y: 1

},

{

x: 2,

y: 1

}]

}

]

this.shapesData[5] = [

{

width: 3,

height: 2,

matrix: [{

x: 0,

y: 1

},

{

x: 0,

y: 2

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

}]

},

{

width: 2,

height: 3,

matrix: [{

x: 0,

y: 0

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

},

{

x: 2,

y: 1

}]

},

{

width: 3,

height: 2,

matrix: [{

x: 0,

y: 1

},

{

x: 0,

y: 2

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

}]

},

{

width: 2,

height: 3,

matrix: [{

x: 0,

y: 0

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

},

{

x: 2,

y: 1

}]

}

]

this.shapesData[6] = [

{

width: 3,

height: 2,

matrix: [{

x: 0,

y: 1

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

},

{

x: 1,

y: 2

}]

},

{

width: 2,

height: 3,

matrix: [{

x: 0,

y: 0

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

},

{

x: 2,

y: 0

}]

},

{

width: 3,

height: 2,

matrix: [{

x: 0,

y: 0

},

{

x: 0,

y: 1

},

{

x: 0,

y: 2

},

{

x: 1,

y: 1

}]

},

{

width: 2,

height: 3,

matrix: [{

x: 0,

y: 1

},

{

x: 1,

y: 0

},

{

x: 1,

y: 1

},

{

x: 2,

y: 1

}]

}

]

Iphone6S, 系统版本是IOS 10.3.2,微信版本是6.6.1


代码比较长,也不知道是哪一块的问题。

有可能是内存占用过大的问题。

这个不好说,我们需要看一下。

回到顶部