在 android 应用程序中执行 linux 命令而不是使用 java 替代方案有什么优点/缺点吗?
例如:
File file = new File("file.txt");
file.delete();
对比
rm file.txt
最佳答案
优势?
没有,真的,或者至少在一般情况下没有。
如果您想调用不公开编程接口(interface)的单独且复杂程序,我认为它很有用。但是,在那种情况下,我仍然会通过 ProcessBuilder
进行调用,而不是使用系统执行。
缺点
不安全
如果这不是您的程序,您就不知道它做了什么。它可能被篡改,并且可能需要使用不同的权限和特权。
不稳定
如果它不是您的程序,您就不知道它是否存在以及是否会一直存在。
浪费
它无缘无故地产生了一个额外的进程。
不透明
您更难监控长时间运行的任务并检查返回代码(而且这些约定将来可能会改变,这使我们回到不安全和不稳定)。
关于java - android 使用 java vs linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18600187/