小程序笔记—性能测试下的定时器:setTimeout与setInterval

小程序中有两个定时器:setTimeout与setInterval
setTimeout:可延时回调
setInterval:可定时循环回调

第一次这样使用:

setTimeout(function(){
console.log("延时1秒回调")
},1000)

setInterval(function(){
console.log("每隔2秒回调一次")
},2000)

但性能测试后发现存在定时器未跟随页面回收的问题,这个可能并不影响使用,但优秀的代码,怎能视而不见,同时这个又关系到小程序的评测指标。
在这里插入图片描述
仔细阅读文档后,发现定时器是可回收的,需要以下代码
setTimeout

startTimer(){
var timerName = setTimeout(function(){
console.log("延时1秒回调")
},1000)
this.setData({
timerName:timerName
})
},
//在定时器使用完毕后调用此方法
closeTimer(){
clearTimeout(timerName)
}

setInterval

startInterval(){
var intervalName = setInterval(function(){
console.log("每隔2秒回调一次")
},1000)
this.setData({
intervalName:intervalName
})
},
//在定时器使用完毕后调用此方法
closeInterval(){
clearInterval(intervalName)
}

在这里插入图片描述

作者:玩烂小程序

相关推荐

android中用getApplicationContext()会不会避免某些内存泄漏问题?

android中用getApplicationContext()会不会避免某些内存泄漏问题?

使用vuecli3.0 + ts + vue-test-unit + html分离 + tslint创建通用基础框架

在这里插入图片描述

运行/bin/kibana报错FATAL Error: listen EADDRNOTAVAIL 123.57.251.57:5601

在这里插入图片描述

STL(标准模板库)-set容器