在Android中使用';系统资源意识

在Android中使用';系统资源意识,android,threadpoolexecutor,Android,Threadpoolexecutor,我正在尝试在android上编写一些后台服务,现在我已经创建了自己的线程池来处理它们 这些服务运行在一台可能在前台有游戏的机器上,我希望游戏优先于系统资源 有没有办法让线程池意识到系统的空闲资源,并且只使用当时的空闲资源?我建议从这样做开始 Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); 在池中的所有线程中。这控制线程的Linux优先级。查看可用常量的列表 基本上,int值的范围是-20(非常紧急)到20(最少)

我正在尝试在android上编写一些后台服务,现在我已经创建了自己的线程池来处理它们

这些服务运行在一台可能在前台有游戏的机器上,我希望游戏优先于系统资源


有没有办法让线程池意识到系统的空闲资源,并且只使用当时的空闲资源?

我建议从这样做开始

Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
在池中的所有线程中。这控制线程的Linux优先级。查看可用常量的列表

基本上,
int
值的范围是-20(非常紧急)到20(最少)

  • 建议的
    THREAD\u PRIORITY\u BACKGROUND
    为10
  • 在关于常数
    线程\u优先级\u最低的文档中(19):“最低可用线程优先级。仅适用于那些在发生任何其他情况时确实不想运行的人。

默认情况下在服务中执行的线程将在后台执行。如果系统资源不足,操作系统将关闭服务


为了简单起见,您可以使用AsyncTask来运行线程,AsyncTask使用的是线程池,因此启动线程的成本很低,请注意,默认情况下它们将以串行方式运行。

非常好。谢谢你,先生。