Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 用棉花糖而不是棒棒糖杀死的过程_Android_Android 6.0 Marshmallow - Fatal编程技术网

Android 用棉花糖而不是棒棒糖杀死的过程

Android 用棉花糖而不是棒棒糖杀死的过程,android,android-6.0-marshmallow,Android,Android 6.0 Marshmallow,有一个现有的应用程序(已有几年的历史)可以在设备启动时启动。 在棒棒糖上一切正常,但是在棉花糖上,在应用程序启动后大约10或20秒,这个过程就被终止了。 logcat中没有任何异常的迹象,进程终止时唯一记录的是这一行: “I/ActivityManager﹕ 杀死3100:com.company.E/u0a85(形容词15):空的#17“ 如果有什么意义的话,你知道“空17”可能意味着什么吗。或者有什么建议可以让我找出它被杀死的原因吗?就像@commonware评论的那样,这意味着你的进程没有正

有一个现有的应用程序(已有几年的历史)可以在设备启动时启动。 在棒棒糖上一切正常,但是在棉花糖上,在应用程序启动后大约10或20秒,这个过程就被终止了。 logcat中没有任何异常的迹象,进程终止时唯一记录的是这一行:

“I/ActivityManager﹕ 杀死3100:com.company.E/u0a85(形容词15):空的#17“


如果有什么意义的话,你知道“空17”可能意味着什么吗。或者有什么建议可以让我找出它被杀死的原因吗?

就像@commonware评论的那样,这意味着你的进程没有正在运行的组件。ActivityManager将保留空进程以加快未来的发布速度,但仅限于设备上默认的32/2=16。你的应用程序是#17

也有一个(较低)的最大数量的限制。但这会给你一个“X s为空”的原因字符串,而不是“X为空”

这不是棉花糖的新功能。不知道为什么你以前没有经历过。也许你有,但你没有注意到。也许事情发生得太晚了,以至于你有时间完成工作。或者可能您的设备的棒棒糖/棉花糖构建在某些方面有所不同(例如,启动时启动并变为空的进程数量增加,或者ProcessList.java中的限制配置不同?)


无论如何,如果没有活动组件,就不能指望进程保持活动状态。为您的工作启动一项服务,并确保在完成后停止该服务。

框架可以随时取消同步。例如,一个不存在的同步 *用户发起且持续时间超过30分钟将被视为超时并取消。 *类似地,框架将尝试确定适配器是否正在取得进展 *通过在一分钟内监控其网络活动。如果网络流量超过此限制 *窗口已接近零,同步将被取消

这是一个新的变化。 你可以用Lollipop代码来验证它。

“空”,关于一个进程,通常意味着没有运行的组件:没有创建任何活动,也没有被破坏,没有服务已经启动,而且还没有停止,没有接收器在代码<我不知道在特定的LogCat条目中“empty”是否就是这个意思。