【问题标题】:Is there a way to assign high priority to a thread or an application in Android?有没有办法为Android中的线程或应用程序分配高优先级?
【发布时间】:2012-11-14 05:44:45
【问题描述】:

我编写了一个 Android 应用程序,它接收 UDP 数据包(正在流式传输)并在收到它们时立即播放。该应用程序运行良好,直到我在 Android 手机上单击另一个应用程序时,我会听到咔嗒声。

有什么办法可以解决这个问题吗? 我想如果我可以为负责接收和播放数据包的线程分配一个高优先级,或者我是否可以为这个应用程序分配一个高优先级可能会有所帮助。

【问题讨论】:

    标签: android streaming datagram thread-priority


    【解决方案1】:

    如果您尝试更改本机线程的优先级,那么 Post 可能会对您有所帮助。

    【讨论】:

    • 我尝试使用:Thread.currentThread().setPriority(0);,但我的应用现在强制关闭。
    • 现在有点晚了,但很可能是 IllegalArgumentException。使用Thread 类中的常量,例如Thread.MIN_PRIORITY(值1)或Thread.MAX_PRIORITY(值10)。
    • @cafelatte 它在文档中说 MAX_PRIORITY 对应于 Process.THREAD_PRIORITY_URGENT_DISPLAY 但不是相同的值。巧合的是,我正在测试一个网络吞吐量受 CPU 性能限制的 VPN 应用程序。当我使用 Thread.MAX_PRIORITY 值时,我设法获得了 6mbit/s,而使用 THREAD_PRIORITY_URGENT_DISPLAY 我能够将吞吐量保持在 25mbit/s 左右。因此,在我的具体情况下,URGENT_DISPLAY 似乎提供了更好的性能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2012-11-17
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-19
    相关资源
    最近更新 更多