2015-06-09 7 views
11

Ho un UIVC che carica da uno Storyboard che, a sua volta, carica uno Xib. Questo carico interno sta causando al VC più di un secondo da caricare. C'è qualche gioco di gambe in corso nello xib interno (carica un altro xib che ha un disegno dinamico) ma questo non sembra essere il collo di bottiglia.Xib richiede molto tempo (> 1 s) per caricare. La cache UIFont sembra incolpare

Secondo gli strumenti, UIFont -initWithCoder è il colpevole. (Se si esegue il drill down ulteriormente TBaseFont::CopyLocalizedName() è la voce più profonda che rappresenta la maggior parte del tempo 1)

Sono un po 'perplesso in quanto il carattere personalizzato che uso si verifica in tutta l'app senza problemi. Qualche idea?

Screenshot from Instruments

risposta

7

Ok il problema era che il carattere personalizzato non è stato incorporato in app. Sono passato a un altro simile che sembrava uguale. Per quanto strano, mi sarei aspettato che quelle etichette offensive ripristinassero il carattere di sistema sul dispositivo, ma non l'hanno fatto. È possibile che siano stati estratti dal MacBook?

+0

Questo è stato un live saver per me! tnx :) – Vinchenzo

1

Avevo il problema simile - nel mio caso un altro dev in team usa solo un altro tipo di font quindi dopo che il sistema di fusione non riesce a capire il font e lo cambia per quello di default - ci vogliono da 1200ms a 2300ms.

Soluzione - reimpostare tutti i font su ViewController che causano alcuni blocchi.

2

Problema simile qui - Hari e Gbk mi hanno accennato nella giusta direzione.

Ho trovato che stavamo usando Lucida Grande in un piccolo luogo nascosto (grazie grep), ma Lucida Grande è NOT embedded in iOS. Ho appena sostituito Lucida Grande con Helvetica Neue e ho guadagnato 3+ secondi al momento del lancio. Impressionante.

Problemi correlati