Потому что они добавлены как подпредставления, и много работы по отрисовке подпредставлений, поскольку они должны быть составлены. Тем более, когда Core Graphics или Core Animation рисуют несколько ячеек с этими подпредставлениями.
Как и в Mac OS X, на iPhone есть две системы рисования. Одним из них является CoreGraphics, другим является LayerKit CoreAnimation. CoreGraphics рисует на процессоре, CoreAnimation рисует на том, что считает наиболее быстрым - скорее всего, графическим процессором.
Графический процессор на iPhone ненавидит смешивание, поэтому Apple рекомендует сохранять непрозрачным как можно больше своих просмотров. Иногда у вас нет выбора - если у вас есть метка над изображением, вы вынуждены сделать метку прозрачной, иначе вы получите большой уродливый блок вокруг вашего текста.
Что делать разработчику? Конечно, предварительно смешайте… с CoreGraphics в своем собственном представлении. Если вы смешаете ваши вещи вместе в одном статическом представлении по требованию (например, когда табличное представление перемещает ячейку на экране), это будет немного дороже для первого кадра, но каждый кадр после этого CoreAnimation просто имеет дело с одним большим, непрозрачным текстура ... которую он любит. Это больше, чем просто смешивание. Если вы думаете о том, что происходит с точки зрения перерисовки, то одно большое представление для каждой ячейки таблицы является большим выигрышем, потому что CoreAnimation будет касаться только одного заданного пикселя на экране один раз, а не несколько раз (потенциально, в зависимости от того, насколько сильно перекрываются ваши старые просмотр иерархии имел).