Android 计时器计划与 ScheduleAtFixedRate

2023-12-28

我正在编写一个每 10 分钟记录一次音频的 Android 应用程序。我正在使用计时器来做到这一点。但是schedule和scheduleAtFixedRate有什么区别呢?使用其中一种比另一种有性能优势吗?


差异最好的解释是这个非 Android 文档 http://carbon.sourceforge.net/modules/scheduler/docs/Usage.html:

固定速率定时器(scheduleAtFixedRate())基于开始时间(因此每次迭代将在startTime + iterationNumber * delayTime).

在固定速率执行中,每次执行都是相对于初始执行的计划执行时间来计划的。如果执行因任何原因(例如垃圾收集或其他后台活动)而延迟,则将快速连续发生两个或多个执行以“赶上”。

固定延迟定时器(schedule())基于先前的执行(因此每次迭代将在lastExecutionTime + delayTime).

在固定延迟执行中,每次执行都是相对于前一次执行的实际执行时间来安排的。如果执行因任何原因(例如垃圾收集或其他后台活动)而延迟,则后续执行也将被延迟。

除此之外,没有什么区别。您也不会发现显着的性能差异。

如果您在想要与其他内容保持同步的情况下使用此功能,则需要使用scheduleAtFixedRate()。延迟从schedule()可能会漂移并引入错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 计时器计划与 ScheduleAtFixedRate 的相关文章

随机推荐

  • Postgresql 的函数

    在这个网站上我看到了一个函数 我想将其与 postgresql 一起使用 https raresql com 2013 05 16 sql server excel financial functions pmt https raresql
  • Angular 12 库源映射不可用

    升级到 Angular 12 后 自定义 Angular 库组件的源映射不再可用于调试 这是一部分angular json来自使用该库的 Angular 应用程序模块 projects myapp build configurations
  • 使用 POST 而不是 GET 的 REST API

    假设某个服务提供了一些我可以像这样使用的功能 GET service function param1 value1 param2 value2 我可以将它与 POST 查询一起使用吗 POST service function param1
  • 如何在PyQt4中用动画画一条线

    我有一个要点清单 例如 points 160 75 115 567 How to draw a line in PyQt4 so it would be something like this 提前致谢 EDIT For the recor
  • Java 获取 java.lang.Number 或原语的通用子类的 valueOf

    在阅读了很多问题后 我问自己是否可以解决将字符串转换为通用数字而不使用硬编码方法的困境 例如 我从方法中获取类型为 Class 的参数 使用 Number isAssignableFrom 或其他方式我可以检查这是否是一个数字类 但我也从用
  • Lua忽略转义序列

    目前Lua有以下转义序列 a Bell b 退格键 f 换页 n 新队 r 回车 t Tab v 垂直制表符 反斜杠 双引号 单引号 nnn 八进制值 nnn 是 3 个八进制数字 xNN 十六进制值 Lua5 2 LuaJIT NN是两个
  • 使用元素自己的宽度分配左边距

    我想设置margin left元素宽度的负一半 这会获取文档的宽度 services backPanel gt div css margin top this height 2 margin left this width 2 我究竟做错了
  • WebBrowser-Control - 单击链接打开默认浏览器

    我在 WPF 应用程序中使用 WebBrowser Control 例如
  • React/Redux 架构中 API 调用应该放在哪里?

    我正在尝试从 API 检索一些数据并将其传递到我的应用程序中 然而 作为 React Redux 的新手 我想知道从哪里进行这些调用以及如何将其传递到我的应用程序中 我有标准的文件夹结构 组件 减速器 容器等 但我不确定现在将 API 调用
  • 导出 Web 项目

    我使用 java 页面和 eclipse 制作了一个 Web 应用程序 但我不知道如何导出它以供使用 我被要求提供一个 make 文件或其他东西 我还可以通过哪些其他方法从 eclipse 执行此操作 听起来您需要将其导出为 WAR 文件
  • 计算函数极限的最佳方法是什么?

    我计划开发一个应用程序 可以计算用户给出的表达式 函数 的极限 I already have a functional expression evaluator which will definitely come in handy My
  • 为什么 Pylint 认为在条件值中使用 len(SEQUENCE) 不正确?

    考虑这个代码片段 from os import walk files for dirpath filenames in walk mydir More code that modifies files if len files 0 lt C
  • 算术左移时间复杂度

    是什么时间复杂度of 算术左移 n 位操作数的算术右移 运算符 例如 x y 复杂度 用 O 表示法 是当输入大小变得越来越大时算法所花费的时间的渐近特征 对于只能接受有限数量输入的算法来说毫无意义 lt lt 可以采用 2 32 32 个
  • 仅倾斜前后的一侧以获得平箭头

    我创建了一些虚拟的面包屑步骤 第一个面包屑步骤需要在左侧有一个正常的平坦边框 这已完成 悬停时 我需要显示每个面包屑项目的黑色边框 但唯一的问题是悬停时 对于第一个面包屑步骤 我没有像预期的那样在左侧得到平坦的边框 以下是悬停时的预期结果
  • 如何让 Spotify 和其他 Android 音乐应用程序按意图搜索和播放?

    我想创建一个MEDIA PLAY FROM SEARCH https developer android com guide components intents common html PlaySearch 或其他 意图 将在任何主要 A
  • 等待 AJAX 调用 (POST) 完成

    我正在使用 jQuery UI 选项卡 其中每个选项卡都有不同的表单 用户输入各种数据后 他们提交整组选项卡 以便每个选项卡异步发布到服务器 这运作良好 我在这里没有任何问题 然而 我遇到的问题是 我发布的最后一个表单必须在所有其他帖子完成
  • 正则表达式仅适用于第一次出现? [复制]

    这个问题在这里已经有答案了 假设我有以下字符串 这是一个测试 测试 这只是一个测试 结束 我想选择this is a test and this is only a test 我到底需要做什么 我尝试的以下正则表达式产生了一个愚蠢的结果 t
  • Angularjs 多个指令 [gridsection, gridsection] 要求模板:

    我收到错误 Multiple directives gridsection gridsection asking for templateon div 用这个代码 我不明白我是如何使用嵌套指令的或者是什么导致了这个 html页面 div d
  • 我们可以使用检测惯用法来检查类是否具有具有特定签名的成员函数吗?

    鉴于 减少 实施检测惯用语 http www open std org jtc1 sc22 wg21 docs papers 2015 n4502 pdf namespace type traits template
  • Android 计时器计划与 ScheduleAtFixedRate

    我正在编写一个每 10 分钟记录一次音频的 Android 应用程序 我正在使用计时器来做到这一点 但是schedule和scheduleAtFixedRate有什么区别呢 使用其中一种比另一种有性能优势吗 差异最好的解释是这个非 Andr