Ionic 2 / Angular 2计时器

3

我现在正在使用一个Observable计时器,在第15分钟和每隔24小时打开一个模态框。

 presentUpgradeModel() {
    let timer = Observable.timer(900000, 86400000);
    timer.subscribe(t => {
      if (this.shouldShowUpgradeModal) {
        this.openUpgradeModel();
      }
    });

  }

我在想这个操作是否会消耗太多后台资源,或者有更好的方法?这是一个移动应用程序,不想占用太多后台进程。

基本上,我只想每隔24小时弹出一个模态框。

使用setTimeout是否更好?

1个回答

0

这不仅仅是关于计时器,还涉及到移动设备上的后台应用程序。首先,如果用户关闭一个应用程序,它将被挂起并且无法工作。

如果您想要像那样的消息,请查看推送通知。

当然,您可以使用插件来防止后台休眠,但这会消耗电池电量。

因此,总的来说,最好使用推送通知来通知用户,或者您可以使用插件,但无论如何,您的应用程序都将一直使用电池。

最后,我会使用可观察对象来处理与计时器相关的事情。

附注:我忘记了本地插件本地通知。它允许您安排时间,即使应用程序已关闭,它仍将触发一个进程。这可能是一种方法。


嗯,这与推送通知无关。这只是应用程序中加载横幅等内容的模态框。我能想到的另一个选项就是会话存储/cookie。 - limit
@limit的问题在于无论你做什么,这都是移动设备,不能保证应用程序始终处于活动状态。 - Vova Bilyachat
@limit 稍等一下 :) 我有一个想法。 - Vova Bilyachat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接