线程睡眠异常行为

时间:2019-01-29 09:38:54

标签: android multithreading service sleep

我已经构建了一个简单的Android应用程序。 一个线程正在收集数据,休眠500毫秒,正在收集等等。 该应用程序应该做到这一点(直到我停止它)。

现在该线程在前台服务中运行(在活动和后台服务android中,几分钟后杀死该线程/服务)。

如果收集了一些数据,则线程会将它们保存在文本文件中。 (它在1分钟内收集了120个值,形成了平均值,并保存了时间戳)。

当我在文本文件中查找时,每分钟有1-2小时的数据-就像我想要的那样。 但是接下来是10分钟的缺席数据,然后是30分钟的每分钟数据,然后是2小时的缺席数据,依此类推。

我不知道: -如果android有时不保存数据, -还是每500毫秒连续睡觉(有时睡觉2个小时?)是愚蠢的, -或android暂停了Hole服务(随机) -...

是否有更好的方法来定期收集数据?

1 个答案:

答案 0 :(得分:0)

Android处于空闲状态。

我用部分唤醒锁解决了这个问题。