android - Android中线程之间的资源竞争
问题描述
在 run() 方法的开头,通过使用 THREAD_PRIORITY_BACKGROUND 调用 Process.setThreadPriority() 将线程设置为使用后台优先级。这种方法减少了 Runnable 对象的线程和 UI 线程之间的资源竞争。
这意味着什么 -Runnable
对象的线程和 UI 线程之间的资源竞争?它与CPU使用率有关吗?
解决方案
简短的回答是:如果您不知道这意味着什么,请不要担心。设置线程优先级通常无关紧要。
如果您正在启动长时间运行的资源密集型线程,同时期望有一个快速的用户界面,那么这可能是适用的。我要指出,虽然这通常不是移动设备所做的事情。
该标志为框架提供了一个线索,它应该在访问资源方面取消该线程的优先级。换句话说,该线程可能需要更长的时间才能完成其工作。我说可能,因为如果系统不受资源限制,那么它不会有任何区别。
推荐阅读
- python - Python Pandas 数据框;放置excel单元格
- java - 为什么这个递归函数的工作方式与另一个不同?
- node.js - Discord.js 自定义前缀命令不更改前缀也不返回错误
- asp.net-mvc - 在子域 mvc 之间共享登录凭据
- angular - Angular mwl 日历显示选择的默认日期
- android - com.google.android.material.textview.MaterialTextView 无法转换为 android.widget.EditText
- python - 如何为匹配来自 html 的内容制作正确的正则表达式?
- javascript - “TypeError:无法读取未定义的属性‘名称’”在 vscode
- pine-script - 无法弄清楚如何评估系列下标
- php - 在 php/mysql 中查看/编辑日期时出现问题