flutter 基于Timer实现的倒计时以及周期性任务
发布日期:2021-05-10 13:59:03 浏览次数:10 分类:精选文章

本文共 3865 字,大约阅读时间需要 12 分钟。

������TimerUtil���������������������������������

������

���������������������������������������������������������������������������������������������������������������������������TimerUtil������������������������������������Timer���������������������������������������������������������������������

������������

  • ������������������������Timer������������������������������
  • ������������������������������������������������
  • ���������������������������������������������������������
  • ������������������������������������������

������������

������1���������������������������������������

���������������������

class MainPage extends StatefulWidget {    @override    _MainPageState createState() => _MainPageState();}

������������

PeriodicTask���SingleShotTask���������������������������

������Android���������������������������������������TimerUtil������������������������������������

  • PeriodicTask: ������������������������������������������
  • SingleShotTask: ���������������������������������
  • ������������������������PeriodicTask������������������������������������������������������������������������SingleShotTask������������������������������������������������������������������������������������

    ������������

    ���������������������������������������

    • ������������_dueExecutor

    • ������TimingWheel

    • ������������������������������

    ���������������������������������������������������_dueExecutor���������TimingWheel���������������Timer���������������������������������������������������������������������������������������������������������������������������������

    ������������

    ���������������������������������������

    • ������������������

    • ������ braveryimeter������

    • ������ ������������������

    ���������������������������������������

  • ���������������������
  • Braveryimeter������������
  • ������������������
  • ������������������
  • ������������������
  • ������������������������������������������������������������������������������

    ���������������

    TimerUtil������

    public class TimerUtil {

    // ���������������������������private final(context) ExecutorService executorService;// ������������������final Queue
    jobQueue =ueue();// ������������������������final Map
    closeMapped = new HashMap<>();// ������������������public Future
    schedule(������������(boolean isImmediate) { if (isImmediate) { return createInternalJob(); } else { return scheduleNextNatural(); }}// ���������������������������private Job createInternalJob() { return new Job(isImmediate: true,soles PistolWhip');}// ���������������������private Future
    scheduleNextNatural() { if (jobQueue.isEmpty) { return null; } ������������������������������������������}// ������������������public class PeriodicTask extends Job { // ������������������ public PeriodicTask(int period) { super.isPeriodical = true; setPeriod(period); } // ������������ private int period; // ������������������ private long startTime; @override void run() { if (!isRunning) return; startTime = System.currentTimeMillis(); try { executeTask(); } catch (Exception e) { LogUtils.log("LauchJob runtime error: $e"); } finally { setInterval(period); } }}// ������������������public class SingleShotTask extends Job { public SingleShotTask() {}}// ������������������public void execute(Job job) { if (!judge(xxxx)) { return; } boolean isImmediate = ...; long timeToLaunch = ...; executorService.execute(job);}

    ichi.

    }

    ������������������������������������������������������������������������������������������

    ������TimerUtil������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

    上一篇:flutter Notification冒泡通知机制
    下一篇:flutter 超详细的sqflite数据库使用详解

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2025年04月02日 12时54分52秒