nativeTimer

start setInterval releaseCpu

概述

nativeTimer封装了定时器功能,支持同一页面支持打开多个timer,支持延时执行与修改定时器时间间隔,支持循环与非循环定时器的使用。 Timer的执行受限于系统的优化策略:IOS平台在应用退到后台时,timer会随应用被系统暂停;Android在应用退到后台或者屏幕熄灭时,timer可能会被系统延迟执行或者暂停。

start

启动一个新的计时器。

start(callback(ret))

interval:

  • 类型:数字类型
  • 描述:(可选项)计时器循环周期。单位:秒
  • 默认:1

cycle:

  • 类型:布尔
  • 描述:(可选项)计时器是否循环
  • 默认值:true(循环)

delay:

  • 类型:数字类型
  • 描述:(可选项)计时器延迟执行时间,0为立即执行
  • 默认值:0

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:

示例代码

  1. var params = {
  2. interval: 10,
  3. cycle: true,
  4. delay: 0,
  5. }
  6. console.log('计时器' + ret.id + '触发回调..');
  7. });

可用性

可提供的1.0.0及更高版本

stop

通过计时器ID结束1个或者多个计时器。

stop(params);

params

ids:

  • 类型:数组类型
  • 描述:计时器id的集合

可用性

iOS系统,android系统 可提供的1.0.0及更高版本

setInterval

修改某个计时器的循环周期(只可修改循环计时器)

setInterval(params);

params

id:

  • 类型:数字类型
  • 描述:计时器id
  • 类型:数字类型
  • 描述:新的循环周期,单位:秒

示例代码

  1. var nativeTimer = api.require('nativeTimer');
  2. nativeTimer.setInterval({
  3. id: 0,
  4. });

可用性

iOS系统,android系统 可提供的1.0.0及更高版本

acquireCpu

向系统声明本应用保持对CPU的占用,可提高应用在手机锁屏的情况下,timer的准确率,但会消耗更多的电量。仅支持Android系统。

acquireCpu();

ret:

  • 类型:JSON对象
  • 内部字段:

示例代码

  1. var nativeTimer = api.require('nativeTimer');
  2. nativeTimer.acquireCpu();

可用性

iOS系统,android系统 可提供的1.0.0及更高版本

releaseCpu

释放本应用对CPU的占用,与acquireCpu配对使用。仅支持Android系统。

releaseCpu();

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:

示例代码

  1. nativeTimer.releaseCpu();