Android 切换到其他应用程序时,我的应用程序将死亡

Android 切换到其他应用程序时,我的应用程序将死亡,android,Android,我正在开发两个应用程序: ->应用程序A:它连接到蓝牙设备,检索一些数据,处理这些数据并向应用程序B广播意图 ->应用程序B:它接收此意图并显示结果 应用程序A必须保持运行才能继续向应用程序B发送数据 直到本周我做了一些视觉上的改变并将我的android设备升级到V7.0之前,一切都很正常 现在,当我切换到应用程序B并查看结果时,我的应用程序A停止(android studio调试窗口中的死信)。如果我改回应用程序A,当前活动会自动重新启动,并再次正常工作 在android studio的调试窗

我正在开发两个应用程序:

->应用程序A:它连接到蓝牙设备,检索一些数据,处理这些数据并向应用程序B广播意图

->应用程序B:它接收此意图并显示结果

应用程序A必须保持运行才能继续向应用程序B发送数据

直到本周我做了一些视觉上的改变并将我的android设备升级到V7.0之前,一切都很正常

现在,当我切换到应用程序B并查看结果时,我的应用程序A停止(android studio调试窗口中的死信)。如果我改回应用程序A,当前活动会自动重新启动,并再次正常工作

在android studio的调试窗口中,我没有收到任何异常或错误消息

关于这个问题的任何想法或信息。我必须说,我已经阅读了很多问题和文件,但我找不到这个问题的原因

(抱歉英语不好)

一切都很顺利,直到本周我拍了一些视频 将我的android设备更改并更新为V7.0

7.0已经推出。您的应用程序A可能会受到这些更改的影响,特别是如果它是内存/cpu密集型的,听起来可能是这样

应用程序A必须保持运行才能继续向应用程序B发送数据

如果是这样的话,你可能需要一个make应用程序来确保它持续运行


在架构上,如果您的用例是让应用程序B打开,而应用程序A保持向其传输数据,那么这可能更有意义。你的应用程序A以前没有死掉,这可能只是一个幸运的机会。进入后台后,它最终可能会被系统杀死。

这可能是因为应用程序B需要更多内存,所以Android操作系统决定关闭后台应用程序,就像您的应用程序A一样。请确保您的应用程序A不是内存密集型应用程序,否则它将消耗大部分内存。非常感谢您的支持你的答案是,我不认为这是问题所在,两个应用程序都使用8-10MB,CPU<0.5%。此外,我没有任何其他打开的应用程序可以消耗更多内存。这是因为onPause()和onResume()检查您是否在onPause()中注销了广播接收器感谢您的回答@Avinash然而,我没有在onPause()和onResume()上注销任何广播。非常感谢您的回答。您的评论非常有意义,我将使用前台服务创建下一个版本。但是,我没有时间更改整个应用程序。此外,我在运行这两个应用的几个小时里都没有遇到问题。当然,你看到的行为可能还有其他原因,但根据你的描述,这是我最好的猜测。确保您没有意外地打开“杀死活动”开发人员选项,该选项在从一个切换到另一个时会立即杀死您的活动。设备和模拟器上的行为是否一致?API版本?是的,我同意你的看法,你的猜测和我的一样。我没有激活该选项。是的,此行为在所有设备和模拟器上都是一致的。实际上,应用程序A在一个月前已经从Eclipse移动到Android Studio,两个版本的行为都相同。我知道,这是一个奇怪的问题。我很容易就实现了前景,而且没有大的变化。即使我没有找到我的问题的答案,@dominicoder的答案也帮助了我。