Я внедряю приложение для службы микроблогов, что-то похожее на твиттер. Я сделал все, что я знаю, чтобы улучшить производительность, включая использование drawRect
вместо архитектуры, основанной на представлении.
После запуска приложения с прибором я обнаружил, что [NSString drawInRect:withFont]
занимает более 50% времени, особенно при первой прокрутке, после чего я могу довольно плавно прокручивать. Хотя [NSString drawInRect:withFont]
по-прежнему занимает большую часть времени, он значительно более плавный, и заметной задержки не наблюдается.
Я не знаю, кэшированы ли слои или что-то в этом роде, но с точкой останова и NSLog я вижу, что drawRect
и drawInRect
все еще называются. Тогда почему он только лагает при первой прокрутке?
Официальное приложение твиттера действительно имеет отличную производительность. Есть ли инсайдер, который может рассказать мне некоторые практические трюки?