L'ultima volta che ho controllato, i font di sistema sono stati memorizzati nella cache (cioè chiamando [UIFont systemFontOfSize:foo]
due volte si ha restituito lo stesso oggetto). Non sono sicuro di quanto spesso la cache svuota, ma sembrerebbe molto sciocco non memorizzare nella cache i font, poiché vengono istanziati continuamente durante il caricamento del pennino.
Ovviamente, se lo stai facendo due volte nella stessa funzione, è leggermente più veloce memorizzarlo nella cache in una variabile locale (e riduce le dimensioni del codice, poiché le chiamate al metodo Obj-C sono enormi!). Se lo fai sporadicamente in posti diversi, potrebbe non valerne la pena.
Detto questo, è possibile accedere al carattere tramite un metodo di classe o un metodo su un "singleton" (ad esempio [MyAppBranding titleFont]
o [[MyAppBranding currentBranding] titleFont]
). Ciò significa che è possibile modificare il carattere utilizzato molto più facilmente, consente di aggiungere un ulteriore livello di memorizzazione nella cache se si nota che si tratta di un collo di bottiglia delle prestazioni e lo rende molto più semplice da supportare per più marchi.
fonte
2011-10-04 01:49:34