Каковы преимущества выполнения вычислений в openParentApplication:reply:
вместо того, чтобы делать это непосредственно в расширении WatchKit, помимо обмена данными? Есть ли различия в производительности? Я предполагаю, что код в openParentApplication:
не будет работать быстрее, потому что и приложение для хостинга, и расширение работают на iPhone, верно?
Преимущество openParentApplication:reply:?
- Почему вы думаете, что есть какие-то преимущества? Лично, кроме обмена данными, не должно быть никакой разницы. Как вы сказали, оба будут работать на iPhone. 07.04.2015
Ответы:
Преимущество заключается в том, что ваше приложение для iOS фактически останется открытым во время выполнения запроса. При создании приложения/расширения для часов вам нужно подумать о сроке службы вашего приложения. Спроектируйте все так, чтобы оно работало, даже если ваше приложение открыто только на 1 секунду. Это не дает вам времени на обработку, необходимую для таких вещей, как обработка изображений, кэширование изображений, сетевые запросы и т. д. Поэтому, чтобы сделать приложение для часов как можно более быстрым, отложите всю сложную обработку на приложение iOS, поэтому что в следующий раз, когда пользователь поднимет запястье на следующую секунду, вы будете готовы и будете в курсе последних событий.
Если вы выполнили всю обработку Watch Extension, вы потенциально никогда не сможете выполнять сетевые запросы, вызывая ужасный пользовательский опыт. Если пользователь поднимает запястье, чтобы проверить наличие новой информации в вашем приложении, а затем видит, что оно запускает сетевой запрос, он, скорее всего, немного опустит запястье, а затем вернется в приложение через несколько секунд. Из-за расхода заряда батареи это убивает ваше расширение и ваш текущий запрос. Когда через несколько секунд пользователь поднимет запястье, он будет очень разочарован, увидев, что информация все еще устарела, что, скорее всего, заставит его опустить запястье еще быстрее.
Таким образом, всегда старайтесь, чтобы ваши данные были актуальными и кешировались, когда Watch Extension действительно срабатывает в течение этого короткого промежутка времени.
Надеюсь, это поможет пролить свет на сложность отображения быстрой динамической информации в приложении Watch.