如何避免 android 后台进程饥饿?
How can i avoid android background process starvation?
我运行使用 Runtime.exec()
从 android 应用程序中设置本机后台进程。
似乎每隔几秒进程就会进入休眠状态 200 毫秒。
看起来 android 操作系统正在耗尽该进程。
有什么方法可以将进程优先级从后台进程更改为其他类型的优先级?
假设正在运行进程中的应用程序可以获得超级用户访问权限。
编辑:
我用于 运行 过程的命令:
String fullCommand = "export LD_LIBRARY_PATH=LD_LIBRARY_PATH:. && ./MyProc";
Runtime.getRuntime().exec(new String[]{"su", "-c ", fullCommand });
正在尝试使用 .setPriority() 方法。
Thread t=new Thread();
t.setPriority(Thread.MAX_PRIORITY);
如果您知道进程的 PID,则可以使用 renice
更改其优先级
(taken from this answer).
您可以这样调用renice:
renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
我运行使用 Runtime.exec()
从 android 应用程序中设置本机后台进程。
似乎每隔几秒进程就会进入休眠状态 200 毫秒。
看起来 android 操作系统正在耗尽该进程。
有什么方法可以将进程优先级从后台进程更改为其他类型的优先级?
假设正在运行进程中的应用程序可以获得超级用户访问权限。
编辑:
我用于 运行 过程的命令:
String fullCommand = "export LD_LIBRARY_PATH=LD_LIBRARY_PATH:. && ./MyProc";
Runtime.getRuntime().exec(new String[]{"su", "-c ", fullCommand });
正在尝试使用 .setPriority() 方法。
Thread t=new Thread();
t.setPriority(Thread.MAX_PRIORITY);
如果您知道进程的 PID,则可以使用 renice
更改其优先级
(taken from this answer).
您可以这样调用renice:
renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]