Dart定时器

6,875 阅读1分钟

定时器分为一次定时器和多次定时器,同本意,一次定时器只能设置在一次倒计时前中后做的事情。多次定时器则可以反复使用。

1、一次定时器:

import 'dart:async'; 
//Timer的使用需要引入
const timeout = const Duration(seconds: 5);
//倒计时开始前print(‘currentTime = ‘ + DateTime.now().toString() );
Timer(timeout, (){    
    //倒计时结束    
    print(‘afterTimer = ‘ + DateTime.now().toString() );
});

2、多次定时器:

多次定时器需要注意一点,使用结束后最好注销一下,防止内存泄漏

int conunt = 0;
const period = const Duration(seconds: 1);
//倒计时开始前
print(‘currentTime = ‘ + DateTime.now().toString() );
Timer.periodic(period, (timer){    
    //到时回调    
    print(‘afterTimer = ‘ + DateTime.now().toString() );    
    count++;    
    if(count >= 5){        
        timer.cancel();        
        timer = null;    
    }
})

//注销定时器
@override
void dispose(){    
    timer?.cancel();    
    timer = null;    
    super.dispose();
}