2

Ios ui スクリプトで performTaskWithPathArgumentsTimeout を使用していますが、コマンドを実行する前に隠れた 1 秒の遅延が発生しているようです。

var target = UIATarget.localTarget();
var host = target.host();

var start = new Date().getTime();
var result = host.performTaskWithPathArgumentsTimeout("/bin/echo", ["Hello World"], 5);
var total = new Date().getTime() - start;

UIALogger.logDebug("duration: " + total);

出力: 期間: 1001

すべてのコマンドで同じです。コマンド ラインから起動するとすぐに実行されますが、performTask から起動すると 1 秒の遅延があります。

この遅延を減らす方法について何か考えはありますか?

4

2 に答える 2

2

この遅延は、UIオートメーションがコマンドを内部で起動する方法に関連しています。私たちの側からできることは何もありません。

とはいえ、順番に実行しようとしているコマンドがたくさんある場合は、それらすべてをシェルスクリプトに入れて、次のように実行できます。

host.performTaskWithPathArgumentsTimeout("/bin/bash", ["some_shell_script.sh"], 5);

これにより、指定されたシェルスクリプトファイルがbash内で実行され、1秒のプロセス起動ペナルティを1回支払うだけで済みます。

于 2012-05-14T13:36:32.077 に答える
2

これは、UIAHost.performTaskWithPathArgumentsTimeout の 1 秒の遅延を削除するように Instruments を変更する、 instruments-without-delayプロジェクトによって巧妙に解決されました。

于 2013-03-14T01:05:28.350 に答える