public class MainActivity extends Activity {
private int newThreadCount;
private int uiCount;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Thread t = new Thread() {
@Override
public void run() {
//Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
while (true) {
newThreadCount++;
}
}
};
t.start();
while (uiCount < 100000000) {
uiCount++;
}
Log.d("TEST", "uiCount=" + uiCount + " newThreadCount=" + newThreadCount);
}
我知道 Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND)
让线程 t 在bg_non_interactive cgroups中运行
- 运行上面的代码,Log print uiCount=100000000 and newThreadCount=50000000(around)
- 去掉 Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND) 然后再次运行代码,Log打印几乎一样。
那么Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND)的作用是什么?