В моем ответе не будут учтены все ваши баллы, но вот пара:
1) Убедитесь, что вы используете Shadow Paths .Пути намного, намного более производительны.
2) Используете ли вы прозрачность или скругление углов?Если это так, попробуйте уменьшить прозрачность, насколько это возможно, и не закругляйте углы, используя CALayer
cornerRadius.Вместо этого используйте обтравочную маску в drawRect
представления, которое необходимо округлить.
4) Возможно, вы можете кэшировать высоту в массиве и не нужно повторять вычисления каждый раз.Это может / не может хорошо масштабироваться в зависимости от потенциального количества элементов, но может быть приемлемым в зависимости от варианта использования.
5) Есть ли виды, которые вы можете использовать повторно?Например, когда у меня есть пользовательский вид выбора на UITableViewCell
, я создаю только один экземпляр, удерживаемый контроллером, и ссылаюсь на него во всех ячейках.