移动端app需求:多个定时提醒
尝试一:前台抛出settimeout时间到了自动执行
结果:短时间1,2分钟的可以执行,长时间时间就会有误差。
刚开始以为是多个定时器之间互相影响的,后来发现只有退出到主页面或熄屏时才会出现这种问题
好吧,查资料说是这种状态后台会挂起,settimeout暂停运行,等再次回到系统会继续执行。
按照这个逻辑那应该是在重新回到系统之前,后面的所有定时器都不执行才对。但是实际测试并非如此,后面的定时器会延时很久很久后执行。我晕了,现在还没弄明白这是什么机制
尝试二:前台把要提醒的时间发给app程序,由程序来定时来告诉前端
结果:调试没问题,但是发布后和尝试一一样的问题。
定位问题发现,到时间后app发送提醒给前端了,但是前端没执行
怀疑调试过程中后台一直是运行状态,而发布后熄屏后后台照样挂起,前端所有js不执行
结论:多久不调用后台会挂起,有没有什么方法能保持一直运行,这些问题也没搞明白,总之知道这种方法行不通,有了解的小伙伴求解呀