Почему иногда активация открытых приложений через AppleScript занимает так много времени (~ 10 с)? - PullRequest
0 голосов
/ 15 ноября 2018

Простой AppleScript

activate application "Safari"

иногда занимает до 10 секунд, когда Safari уже открыт (но не активирован).Я использую AppleScripts, как это, чтобы переключаться между программами, использующими Spark, но подобные задержки происходят с использованием редактора AppleScript или в командной строке с использованием

osascript -e 'activate application "Safari"

, поэтому задержка не в самой Spark.Эта проблема связана не только с переходом на Safari, но и не с каждой программой.Например, Chrome постоянно активируется.Другие приложения, которые работают особенно медленно, - это Evernote и Terminal.

Замедление происходит после того, как Safari не был активирован какое-то время, скажем, дольше минуты.Если я использую похожие сценарии для быстрого переключения между программами, только первый переключатель медленный;последующие переключения происходят быстро.Так что, похоже, это связано с процессами ОС, а не только с AppleScript.

С другой стороны, если я переключаю программы с помощью Cmd-Tab, он быстро загружается после выбора приложения, поэтому кажется, что медлительность привязан к активации AppleScript.

Незначительные изменения AppleScript не имеют значения;например,

tell application "Safari" to activate

Использование полного пути к приложению не изменило.

Это на 10.14.1 на Macbook Pro середины 2014 года с 16 ГБ ОЗУ.Кажется, стало еще хуже, когда я перешел с Сьерры на Мохаве, но теперь, когда я думаю о ней, на Сьерре тоже была некоторая медлительность.Я использую те же AppleScripts через Spark в течение многих лет, и когда я начинал, это всегда было довольно быстро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...