Почему приложения на iOS «падают» чаще, чем на Android?

51

Почти год назад компания Blancco Technology Group написала в своем отчете, где анализируются диагностические сведения с мобильных устройств, что приложения на iPhone «падают» почти в три раза чаще, чем на Android. Этого хватило для того, чтобы в СМИ появились громкие заголовки, но если разобраться в вопросе, все далеко не так очевидно.

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

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


Почему вообще «падают» приложения на iOS?

Одна из основных причин, которую описали сами аналитики, — частые обновления мобильной операционной системы Apple. Любые изменения в работе ОС (и ее базовых API, используемых разработчиками) могут вызвать проблемы для создателей приложений. Apple не только агрессивно развертывает основные обновления программного обеспечения и внедряет новые функции, но также быстро продвигает эти изменения. По-видимому, существует явная корреляция между новыми обновлениями и сбоями приложений, связанными с этими изменениями в iOS.

Неспособность Android поддерживать устройства более года или двух лет означает, что разработчики приложений под данную платформу должны учитывать возможность запуска на старых версиях, как обычно и происходит. Соответственно, чем меньше обновлений поступает от Google, тем меньше работы у создателей приложений, но это также приводит к отсутствию стимула у сторонних разработчиков к применению новых технологий. Из двух миллиардов активных Android-устройств, о которых Google заявила в прошлом году, «почти половина устарела на два года».

В случае Apple всему виной частые обновления операционной системы, под которые не всегда успевают подстроиться разработчики. Даже крупные компании зачастую отстают: так, Facebook недавно выпустил 162 (!) версию своего приложения для iOS, при этом является одним из приложений, которые чаще всего дают сбой. Instagram тоже не поспевает за Apple: похоже, что архитектура фильтров Instagram полностью основана на менее эффективном OpenGL ES, а не на современном Apple A7, который оптимизирован для графики.

Поэтому говоря о том, что приложения на iOS «падают» в три раза чаще, чем на Android, необходимо учитывать множество факторов. Apple может выпускать меньше обновлений своей операционной системы, и разработчикам станет легче дышать. Но станет ли от этого легче пользователям?

Лучший комментарий

51 комментарий Оставить свой

    • -6
      Patron954

      RomanKa, Станет

      • 0
        美少女

        Patron954, При чём та же Unkilled никогда не вылетает на андроиде. У меня один аккаунт на два устройства, и когда надо отбить нападение зомби на базу, и попадается уровень, который всегда вылетает на iOS, мне приходится проходить этот уровень на Android, потому что на айпаде это сделать невозможно — игра гарантированно вылетит во время боя в любой момент. А если повезёт и игра не вылетит в бою, то при начислении денег по результатам боя вылетит, и никакого выигрыша не получишь.

        • 1

          美少女, Почему у меня Unkilled ни разу не вылетела🤷🏻‍♂️

          • 0
            美少女

            Toxa, Потому что у тебя не iPad мини 4, или не такая версия iOS, или не такой аккаунт, или ты не на тех картах играешь, да много может быть причин.

    • 0
      美少女

      RomanKa, Не всегда. Unkilled постоянно вылетает, либо при начислении денег после боя, либо во время боя на некоторых картах. И разработчики уже больше года с этим ничего не делают, хотя Я им писала про этот баг. Раньше вообще поражение засчитывали при вылете игры, сейчас хоть сделали что битва вообще не засчитывается при вылете и можно ещё раз запустить.
      А в последнее время ещё и Gear Club стала вылетать, при чём в 99% случаев. Запускаю игру, она гарантированно вылетит при загрузке, но при повторном запуске чаще всего запускается. То есть Gear Club надо дважды запускать — первый раз она обязательно вылетит, и только при втором запуске запустится, а иногда и дважды подряд может вылететь. И это на айпаде с 2 ГБ памяти.

      • 0

        美少女, Вот Unkilled и gear club очень интересная история с этими играми они были как никак оптимизированы под iohone x но вышло обновление и оплимизацию убрали😭зачем и почему 🤷🏻‍♂️

  1. 5
    Mikkozaitsev

    Приложения на айфоне вылетают?!

    • -2
      max2002 2.0.

      Mikkozaitsev, Я не сталкивался за 7 лет ни разу

    • -1
      美少女

      Mikkozaitsev, Да. У меня это происходит по 3-5 раз в день.

    • 2

      Mikkozaitsev, даже Музыка у меня вылетает иногда, просто закрывается и все, но очень, очень редко, так что не мешает.

      • 3
        Mikkozaitsev

        iRock, Уж эпловские приложения у меня точно ниразу не вылетали.

        • 0
          美少女

          Mikkozaitsev, Я очень удивилась, когда у меня вылетело приложение Настройки. Хотела зайти посмотреть сколько места свободного, запускаю настройки, они какое-то время грузятся, через несколько секунд появляется интерфейс, и тут же внезапно закрывается всё и вылетает на рабочий стол.

  2. 0

    Что за бред я прочитал? Падают? Да ладно.. «Сижу» на бетах года два уже, за всё время падающих было программ 3 , на бете, прошу заметить.. и то, с новой бетой начинало работать опять, или через день , происходило обновление проги и она начинала работать как и прежде.. Если и есть какие, которые падают на релизе это говорит только об одном- разраб «положил» на своё детище!! И при чём тут тогда аппл?? Подстраивался под миллионы разрабов должна??

  3. 5

    В андроиде более понятные стектрейсы в том же крашлитиксе, поэтому их проще устранить.
    Мне, как моб. разработчику, писать под iOS в целом нравится сильно больше, но крашрепорты — слабая сторона iOS

    • 0
      НяшМяш

      int.32, в релизный билд не попадают символы, поэтому стектрейсы без названий методов. Нужно сохранять dSYM от текущей релизной версии приложения и вручную символизировать креши крашлитикса, либо просто пользоваться теми, что в айтюнс коннекте и сливать их сразу из икскода.

      • 0

        НяшМяш, ну крашлитикс вроде как автоматом их аплоадит, но всё равно информативность сильно ниже, чем в ведре.

  4. 0
    Prosto_Tak

    Программы на ios «падают» чаще?? Впервые такое слышу.🤷🏻‍♂️ Даже не помню когда последний раз какая-то прога вылетало на 7+.

    • 0
      美少女

      Prosto_Tak, Повезло тебе, что ты не сталкивался с такими приложениям. А у меня игры по 3-5 раз в день вылетают. А на последней iOS даже приложение Настройки иногда вылетает при запуске.

      • 2
        eugene.biryukov

        美少女, Только причём тут iOS, если дело в самой программе?

        • 0

          eugene.biryukov, или наоборот дело в iOS11 ^_^

        • 0
          美少女

          eugene.biryukov, При том, что одна и та же программа — на андроиде отлично работает, на iOS — вылетает. Разница только в ОС, значит виновата iOS. Раз на ней нельзя сделать программу, чтобы она не вылетала.

          • 0
            НяшМяш

            美少女, нихренасебе разница в ОС. Эти операционки даже в корне отличаются — в одной линукс, во второй корни из бсд. Там может быть 90% кода одинаковым, но в иОС и Андроид они тупо по-разному запускаются — в одной ява кодом, другая — нативным. И может быть приложение сначала разрабатывали под андроид, а потом криво портировали под иос. Креши возникают в 95% случаев потому, что кросплатформенное дерьмо вместо нормальной нативщины.

  5. 1

    Ну, есть же сервисы для разработчиков, вроде Testilio. Apple могла бы плотнее сотрудничать с ними, чтобы у разработчиков приложений всегда были актуальные данные о том, как их приложения поведут себя на новых или старых устройствах.
    Сам я ещё не пользовался подобными сервисами. Возможно, Apple сможет предложить подобный сервис сама, если их качество или стоимость не очень отвечают высоким стандартам качества Apple.
    С iOS всё не так уж и страшно. Приложение упало, перезапустил. Хуже, если может потеряться документ, над которым в приложении велась работа.
    Основная причина падения приложений по моим наблюдениям всё та же, что и везде — заканчивается свободная оперативная память. Но от этого может спасти только квалификация программиста. Если программа бесконтрольно создаёт и удаляет объекты в памяти, то менеджер памяти не настолько интеллектуальный модуль, и память рано или поздно заканчивается.
    В любом случае, пользователи голосуют рублём, выбирая надёжные программы. Так что задача Apple — это повысить надёжность программ, а сделать это можно в том числе и с помощью сервисов тестирования.

    • 0

      AndreySh, сидите по ходу работы программы наблюдаете за расходом ОЗУ? 🤦‍♂️ LOOOL

    • 0
      НяшМяш

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

  6. 1
    hellCreature

    «Instagram тоже не поспевает за Apple: похоже, что архитектура фильтров Instagram полностью основана на менее эффективном OpenGL ES, а не на современном Apple A7, который оптимизирован для графики.»

    Уважаемые редакторы, вы чего с чем сравниваете??? OpenGL ES — API для работы с графическим ускорителем, Apple A7 — процессор! Уж корректней написать «не на современном Metal API»

  7. 0

    У Apple в этом плане все хорошо на самом деле. Если какие-то приложения постоянно падают, стоит проверить AppStore, и посмотреть, нет ли у других таких же проблем. Если нет — то сброс к заводским настройкам наверняка все исправит.
    В своё время делали Real Racing 3 для Blackberry, так там с каждой обновой ОС приходилось переделывать приложение, плюс ещё обновления делать. Ясен пень, после 4 апдейта проект на BB был закрыт

  8. 0

    У меня очень редко вылетают приложение на IOS. На андроиде чаще происходит. Уже телефоны 10 лет, до сих пор неисправили эти вылеты

    • 0
      Sergio Barbery

      THRASHER, Надо бы обновить телефоны, 10 лет телефону это уже перебор. 😉 А кроме шуток про андроид — возьмите пиксель, а потом уже пишите про андроид. Все корейцы и китайцы столько всего туда понапихали ненужного, что это уже не андроид.

  9. -1

    Ниразу у меня еще не падали приложения.

  10. 1

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

  11. 0
    Sergio Barbery

    Мило читать оправдания, мол, ничего не падает, и все прям распрекрасно. Всегда время от времени что-то глючит и на iOS и на Андроиде, правда в последнее время чаша весов не в пользу iOS.

    • 0
      Sergio Barbery

      Sergio, при том в каждой местной новости про выход новой релизой версии iOS добрая часть комментариев типа, а стоит ли ставить, все ли работает и все в таком духе. И это про саму ось, не считая приложения, которые так же начинают сбоить. Память у вас, господа и дамы, выходит девичья.

      • 0

        Sergio, Чем старее устройство, тем больше вылетов. У меня на мини 2 очень часто крашатся прилодения. Даже сафари порой по 2-3 раза крашется. На андройд установил обновление, не понравилось откатился. На ios так сделать нельзя, иначе статистика испортится у эпл которой они горлятся. А то что андройд не обновляет старые устройства года через 2 это только плюс. Ну вот эпл выпустила ios 11 на 5s и мини 2, а толку? Устройства практически не юзабельны, лаги жутки и встледствие краш приложений.

        • 0
          Sergio Barbery

          Arrow, справедливости ради кажу, у меня есть для целей надругательства Nexus 5, которому уже скоро стукнет 5 лет в обед. Сейчас на нем стоит Android Oreo 8.1 (понятно неофициальный) . Все работает. Потормознее, конечно, чем на Android 4.4, с которым он вышел, но пользоваться очень даже можно без каких-то особых проблем. Уж точно не так как iPhone 4 превратился с выходом iOS в жуткий тормоз. Хорошо успел вернуть на iOS 6 с джейлом — лежит раритет. Включаю иногда и прям радуюсь, как все было прекрасно.

      • 0

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

        • 0
          Sergio Barbery

          Ssergio, не бездельники, а те кто не просиживает жизнь офисным планктоном, а имеет время оценить все самостоятельно без спешки и без необходимости доверить выбор другому дяде. В общем то, чего вам так и не хватает.

          • 0

            Sergio, Что же это получается? Я покупаю телефон, произведенный не какой-нибудь, а компанией Apple с IOS, которую разработала эта же компания. Я уже сделал выбор. Теперь Apple предлагает обновление и я буду терзаться в сомнениях, а не опасно ли это? Не логично. А работа моя также далека от офиса, как айфон от самсунга.

            • 0
              Sergio Barbery

              Ssergio, вот как раз именно насчет обновления iOS в настоящее время терзаться в сомнениях стоит, через раз после очередного обновления что-то да вылезет неприятное.

  12. 0
    Roman Kerimov

    Как можно сравнивать графическую библиотеку OpenGL ES и процессор Apple A7?

  13. 0

    Ничего у меня на IOS не вылетает, не падает. У кого что падает, вы или устройства поддельные купили по дешману или просто тролите тут.

Авторизуйтесь Чтобы оставить комментарий