下面是改编的官方的 小程序示例 中的 画布 -》canvas 弹小球的代码:
Page({
onLoad: function() {
this.context = wx.createContext();
},
onReady: function () {
this.position = {
x: 150,
y: 150,
vx: 2,
vy: 2
}
this.drawBall()
this.interval = setInterval(this.drawBall, 17)
},
drawBall: function () {
var p = this.position
p.x += p.vx
p.y += p.vy
if (p.x >= 300) {
p.vx = -2
}
if (p.x <= 7) {
p.vx = 2
}
if (p.y >= 300) {
p.vy = -2
}
if (p.y <= 7) {
p.vy = 2
}
var context = this.context;
function ball(x, y) {
context.beginPath(0)
context.arc(x, y, 5, 0, Math.PI * 2)
context.setFillStyle('#1aad19')
context.setStrokeStyle('rgba(1,1,1,0)')
context.fill()
context.stroke()
}
ball(p.x, 150)
ball(150, p.y)
ball(300 - p.x, 150)
ball(150, 300 - p.y)
ball(p.x, p.y)
ball(300 - p.x, 300 - p.y)
ball(p.x, 300 - p.y)
ball(300 - p.x, p.y)
wx.drawCanvas({
canvasId: 'canvas',
actions: context.getActions()
})
},
onUnload: function () {
clearInterval(this.interval)
}
})
在小米 MAX 上, android 6.0.1, 4G 内存
用小程序基础库所有版本上均做了测试,大概都是这种现象:
该页面 10 几分钟后, 在调试窗口性能数据中查看到,内存涨到近 700 M后微信直接退出!
麻烦 @胡浩 @梁天智|Albie @smoothieli @晨 帮忙看看。
我们的程序与这个结构类似,马上要申请上线了,出现这样问题,很是无奈啊。。。
我们的应用一直没有在Android手机上做过长时间运行的测试,今天拿 小米 MAX 上, android 6.0.1, 4G 内存 的手机做了测试,发现了这个严重问题。
你只需要用该类型的手机打开 小程序示例 -> 画布 -> canvas , 在 1.4.0 的基础库上,同时打开性能数据窗口, 就可以看见内存一直增涨,到 700 m 左右,程序就退出了。
这个问题在小程序示例里面也会出现吗?提供下你们的小程序appid?还有补充一下我应该怎么用你的小程序重现问题~我这边查下具体是什么原因导致~