我有两个Android应用程序通过意图相互通信。我们称之为 A 和 B (不是他们的真实姓名)。在正常情况下,我们有以下内容:
这项工作多年来一直运作良好,并且遇到特定客户,它在300台设备中占98%。
现在的问题是这个过程在少数设备上失败了。 B 到 A 的意图被延迟,而 A 中的后台线程被阻止。一旦后台线程不再被阻止(它有30秒超时),主线程上的 A 会立即收到意图,即使主线程从未被阻止。所以我们有:
应用 B 似乎不是问题所在。它在不到一秒的时间内完成了应有的一切。我已确认 A 中的主要帖子未被屏蔽。 UI始终保持响应,我尝试在此过程中定期在主线程上运行代码,以确认它应该准备好接收Intent。此问题仅在过去几周内开始,并且没有更改代码。我不知道设备上运行的其他应用程序有任何变化,但我认为它们不应该导致此问题。我不知道操作系统有任何更新,但它们似乎都运行相同的版本。因此,如果这是一个错误,我希望在所有设备上看到它,而不仅仅是少数。根据客户的报告,经过一段时间的延长,以及此代码的多次重试,它将突然发挥作用。但是再次尝试这个过程,它会再次卡住。
我希望有人见过这样的事情和/或可能会提出这种行为的可能原因。我倾向于认为它在设备上是环保的,但我不知道是什么原因造成的。我完全坚持这一点,而且我目前正致力于一种解决方法,我可以随意改变这个过程的工作方式,以达到相同的效果,只是希望问题能够神奇地消失。