java - android 使用 java vs linux

标签 java android linux

在 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/

相关文章:

java - 使用 Visual Basic 的 Java Applet 接口(interface)

android - 谷歌 IAP 错误 : Authentication is required

linux - 并行运行多个可执行文件,限制为 5

检测到 JavaFX 未完成的资源锁

java - 如何使用 HornetQ 延迟 JMS 消息的传递?

android - 如何在没有丑陋的 instanceof 的情况下处理 Retrofit Rx onError 中的不同类型的错误

linux - 当多个信号到达一个进程时,处理信号的进程之间的顺序是什么?

python - ESA 的 snap-python (snappy) 不适用于 python 3.5 及更高版本

Java 如何将 "Override"设为一个 catch block

android - 在点击事件上显示警告消息框