Android 应用程序优先级
在前台长时间运行的应用程序在时间上会获得更高的优先级吗? 我解释我的问题。我移植了一个软件,用于与安卓系统中的固定基础设施进行通信。我在做一些测试。每个测试进行5次实验(移动节点向基础设施发送一些查询,并评估查询成功次数和平均时间),测试结果为这些实验结果的平均值。 在测试期间,应用程序始终处于前台。 在实验中,实验结果提高了e。G(查询确定的10%15%30%40%55%)。 我将系统实现为活动,而不是服务。 对于测试,应用程序获取锁定屏幕、昏暗、唤醒、锁定和WIFI模式。Android 应用程序优先级,android,Android,在前台长时间运行的应用程序在时间上会获得更高的优先级吗? 我解释我的问题。我移植了一个软件,用于与安卓系统中的固定基础设施进行通信。我在做一些测试。每个测试进行5次实验(移动节点向基础设施发送一些查询,并评估查询成功次数和平均时间),测试结果为这些实验结果的平均值。 在测试期间,应用程序始终处于前台。 在实验中,实验结果提高了e。G(查询确定的10%15%30%40%55%)。 我将系统实现为活动,而不是服务。 对于测试,应用程序获取锁定屏幕、昏暗、唤醒、锁定和WIFI模式。 谢谢它不会获得更高
谢谢它不会获得更高的优先级,您不应该在ui线程上这样做 有几个问题:
- 用户可以关闭应用程序,您的重要上传过程将暂停/取消。你可以按照逻辑在解雇后继续工作,但在这种情况下没有意义
- 当用户关闭应用程序时,它可能会被操作系统关闭
- 您可能会在没有更新的情况下离开屏幕,如果发生这种情况,您将获得强制关闭
- AFAIK在Android的下一个版本中,如果你在ui线程上执行网络逻辑,你将得到一个FC。类似姜饼的严格模式
使用
服务
并生成具有最大优先级的线程。我不确定在Android中为线程设置最大优先级是否会有任何影响,但请尝试一下。谢谢。我已经将细化放在单独的线程中,并尝试更改优先级。我暂时将应用程序保留为Activity,只是为了进行性能测试。在上一次实验中,应用程序经常会出现OutOfMemoryError。在实验过程中,应用程序的堆大小(由DDMS监控)会增加。看起来,如果进程获得足够的内存,它会变得更好,并且在某个时候它需要太多内存,并被操作系统杀死。