我正在为Tizen可穿戴2.3开发一个混合应用程序。对于该应用,提取加速度计和陀螺仪传感器数据并写入本机服务应用程序中的100 at频率的文件。
然而,在某些试验中,我发现数据在关闭WiFi几分钟后就丢失了。例如,如果我记录数据10分钟,同时将应用程序保持在后台(显示关闭),并在第5分钟关闭wifi,则该文件只显示前5分钟的数据,其余数据不会写入文件。我怎样才能阻止这种行为?
谢谢。
发布于 2016-11-08 18:18:38
最后,发现我还没有得到CPU上的device_power_request_lock。
device_power_request_lock( POWER_LOCK_CPU, 0);该函数将给定的锁状态锁定无限时间,并且不允许CPU进入睡眠状态,这会导致数据丢失。若要在会话后解锁CPU,请执行以下操作:
device_power_release_lock(POWER_LOCK_CPU); 发布于 2018-11-29 13:46:19
作为对先前答案的补充,除了设置CPU锁外,还需要添加“传感器”的背景类别类型,以防止tizen系统(我在Gear S3前沿使用Tizen3.0)由于高能耗而杀死应用程序,这是本文Is it possible to keep Tizen application alive non stop中提到的一个答案。
转到tizen-plom.xml >>高级>>背景类别>>添加类别类型“传感器”。
在我的例子中,在开始时,我只设置CPU锁,传感器在后台连续记录数据。但是在不到十分钟的时间内,这个应用程序就启动了,tizen系统弹出了一个窗口,询问“XXX应用程序消耗了大量的能量,您想关闭它吗?”有趣的是,没有震动作为通知,而屏幕仍然是黑色的。我几乎没有偶然发现这个弹出式的。如果你选择让应用程序继续运行,并且认为一切都很好,那么你就完全错了。系统会时不时地做同样的事情(10分钟左右),如果你没有注意到一次,你的应用程序就会被杀死。tizen文档真的是一团糟,大多数情况下,您只能通过尝试和错误以及在线帖子的帮助来解决问题。
https://stackoverflow.com/questions/40449985
复制相似问题