在Titanium中,ios中的pause事件和registerBackgroundService之间的区别是什么?

时间:2013-11-19 17:48:26

标签: ios titanium appcelerator

简而言之,当你将一个函数附加到“pause”事件时可以执行类似的操作时,使用Ti.App.iOS.registerBackgroundService有什么意义呢?这两种方法在Titanium中有什么不同吗? 例如 版本1: app.js:

service = Ti.App.iOS.registerBackgroundService({
    url:"bg.js"
});

bg.js:

var sec = 0;
setInterval(function(){console.log('counting' + sec); sec = sec + 1}, 1000);

版本2: app.js

Titanium.App.addEventListener('pause', function(){
    var sec = 0;
    setInterval(function(){console.log('counting' + sec); sec = sec + 1}, 1000);
});

版本1&版本2完全相同(当应用程序放在后台时)。

1 个答案:

答案 0 :(得分:1)

版本1和版本2没有做同样的事情。 Background service是在应用程序放置在后台时运行的服务,当应用程序从后台返回时它将自动停止。它可以调用Titanium.App.iOS.LocalNotification

pause是在多任务系统上应用程序从活动状态转换为非活动状态时触发的事件。当用户离开应用程序或某些类型的临时中断(例如通知或来电)时,此事件将触发。

来自文档,

  

请注意,在此事件期间调用修改UI的函数可能会   部分执行,直到暂停之前的UI调用。看到   暂停了一下。如果发生这种情况,代码的其余部分将是   在恢复应用程序之后但在恢复事件之前执行   触发了。

两者都不同,做不同的工作