Почему приложения для iPhone такие медленные? - PullRequest
3 голосов
/ 30 июня 2009

Что-то, что я заметил в каждом приложении для iPhone, которое я пробовал, состоит в том, что у них есть места, где они кажутся очень медленными и безразличными. Это касается игр, бесплатных приложений, дорогих, популярных, «профессиональных» приложений и даже нескольких встроенных приложений Apple. Кажется, что у всех есть места, где они реагируют на прикосновения к экрану за несколько секунд или даже минут; спуститься вниз и показать вращающийся пляжный мяч на несколько секунд; ввод в очередь так, что нажатие кнопки кажется проигнорированным, чтобы фактически сделать что-то десять секунд спустя, как плохо сделанный видеорегистратор; и запирается так долго, что сторожевой таймер ОС просто убивает их.

Поскольку эти проблемы перфорирования настолько широко распространены, мне кажется, что должны быть некоторые распространенные подводные камни, связанные с производительностью, некоторые системные ошибки, которые возникают снова и снова для многих людей. Я сам не разработчик для iPhone, поэтому я собираюсь узнать мнение сообщества:

Каковы наиболее распространенные ошибки производительности на iPhone?

Или какие человеческие факторы развития iPhone делают слишком легким поставку с низкой производительностью?

Ответы [ 5 ]

5 голосов
/ 30 июня 2009

Я думаю, что проблемы с производительностью - это вопрос восприятия. Apple использует анимацию во всех аспектах интерфейса iPhone, что создает впечатление плавного, отзывчивого устройства. Замедления, на которые вы ссылаетесь, выглядят намного хуже, чем они могли бы быть, потому что они выделяются на другом плавном интерфейсе. Если вы сравните общее время выполнения этих задач с аналогичными приложениями на других мобильных устройствах, я бы предположил, что реализации iPhone все равно окажутся на вершине.

Тем не менее, всегда есть возможности для улучшений, и я ожидаю, что многие уловки, которые люди узнали за последний год, приведут к более быстрым и более отзывчивым приложениям. Даже сами инструменты разработки развиваются, и это должно облегчить диагностику и устранить узкие места в производительности. Я знаю, что продолжаю изучать новые приемы каждую неделю, чтобы выжать немного больше из процессора, графического процессора или встроенной памяти.

Я все еще удивлен тем, как быстро люди изменили свои ожидания относительно того, что могут делать портативные устройства. Я являюсь автором приложения с открытым исходным кодом Molecules , которое выполняет трехмерное молекулярное моделирование на iPhone. Чуть более десяти лет назад эти типы рендеринга выполнялись на выделенных рабочих станциях SGI Irix. Спустя несколько недель после запуска App Store я начал получать электронные письма от людей, жалующихся на то, что приложение немного дергалось, когда они пытались манипулировать молекулами с более чем 20 000 атомов в своей структуре. За очень короткое время люди перешли от обращения к этим устройствам, таким как телефоны и музыкальные плееры, к просмотру их как портативных компьютеров.

2 голосов
/ 30 июня 2009

Как упоминалось ранее, соотношение прибыли / времени, потраченного на разработку, может объяснить это.

С технической точки зрения, я бы сказал, что задержка, которую вы видите, создается при запуске, когда приложения получают данные по сети или звонят домой, чтобы проверить наличие обновлений и так далее. Кроме того, его можно создать с помощью инициализирующего приложения, такого как загрузка больших объемов данных из базы данных / файлов, загрузка компонентов графического интерфейса и изображений, рисование и т. Д.

Подобно управлению памятью, все это может быть решено путем разработки операций, выполняемых в фоновом режиме, отложенной загрузки и т. Д., Но это требует больше времени, времени и денег, вы не получите много за приложение 99C, которое может продавать или не продавать на все.

Интересно, что столько раз в профессиональных статьях указывалось (без ссылок ...), что нам больше не нужно заботиться о памяти и скорости, потому что настольные компьютеры становятся быстрее с увеличением объема памяти. Люди часто забывают о том, что в то же время мы пытаемся получить больше энергии от устройств меньшего и меньшего размера, которые работают с меньшими ресурсами.

Большинство веб-страниц, например, в настоящее время предназначены для загрузки огромного количества анимаций и изображений и, в отличие от некоторых, совсем не настроены на производительность, а просто на рабочих столах. Эти веб-страницы не имеют возможности загрузки на мобильное устройство. То же самое относится и к приложениям: разработка большого большого фреймворка (или библиотеки графических элементов графического интерфейса пользователя) для настольных компьютеров крайне затруднит портирование функциональности на изящное мобильное устройство, будь то iphone, немного фруктовой ягоды, а что нет.

Как и в других вещах в жизни, вы получаете то, за что заплатили.

Мой 99C.

2 голосов
/ 30 июня 2009

Управление памятью немного зверя .

Но я думаю, что самая большая проблема заключается в следующем: как долго вы можете позволить себе отполировать продукт, который будет продаваться за 99 центов и конкурироватьс десятками тысяч других приложений и имеет неизвестный потенциал дохода на быстро меняющемся рынке?

iPhone - ОГРОМНОЕ маленькое устройство, но конкуренция за разумный обмен жесткая и дорогая.

1 голос
/ 30 июня 2009

Я думаю, что самая большая проблема заключается в том, что невозможно определить скорость приложения, фактически не запустив его на устройстве. Разработчики выполняют большую часть базового тестирования приложений в iPhone Simulator (который, по моему опыту, может работать в 1000 раз быстрее). Для некоторых операций, которые занимают в симуляторе долю секунды, может потребоваться индикатор прогресса на телефоне, и к тому времени, как вы это поймете, потребуется много усилий, чтобы вернуться назад и добавить (а в некоторых случаях - поток) рассматриваемой операции. Как указала Ношредна, это, как правило, приложение 99c.

Процессор iPhone также просто принципиально ограничен. Я видел несколько симпатичных приложений, которые пытаются делать очень впечатляющие вещи, не принимая ограничений платформы.

Это своего рода примечание, и я не хочу начинать войны на мобильных платформах, но я обнаружил, что приложения для iPhone, как правило, более отзывчивы, чем приложения для Android ...

0 голосов
/ 02 января 2012

Ну, потому что, может быть, вы удалили приложение и снова установили его, потому что с ним что-то не так, поэтому это заняло некоторое время, мне потребовалось около 2 или 3 дней, чтобы полностью загрузиться, так что наберитесь терпения, в конце концов, оно придет. Также, возможно, на вашем iphone больше нет места для вашего приложения, или ваше приложение довольно тяжелое, попробуйте удалить другие приложения, чтобы в нем были комнаты.

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