2009-05-28 8 views
5

Voglio mantenere la mia app inferiore a 10,0 MB per un facile download in entrambi gli ambienti di rete cellulare e Wifi. Nella tua esperienza hai riscontrato dei buoni modi per mantenere le tue app snelle? Se è così, per favore condividi. Quali sono alcune linee guida valide per mantenere la dimensione del file dell'app per iPhone inferiore a 10,0 MB?Quali sono alcune linee guida valide per mantenere la dimensione del file dell'app per iPhone inferiore a 10,0 MB?

risposta

6

La maggior parte delle app con cui ho superato 10M sono dovute a risorse, spesso immagini e audio. Il corretto dimensionamento di questi è fondamentale. Tieni presente che iPhone esegue automaticamente una compressione per il bundle del dispositivo, pertanto le dimensioni di Simulator possono essere radicalmente diverse rispetto a quelle del dispositivo.

Come tutti gli esercizi di ottimizzazione, si desidera innanzitutto creare un sistema solido e sensato e quindi concentrare gli sforzi di ottimizzazione sui pezzi che causano i maggiori problemi. Io uso du per questo:

  • costruire per il dispositivo in uscita
  • Vai a costruire/Stampa-iPhoneOS/.app
  • du -ak | sort -rn | head

Questo vi darà un elenco di dove la le cose migliori sono. Questa informazione è in kB, ma è arrotondata al blocco successivo (4k su Mac). Ma stai solo cercando ciò che è grande, senza calcolare esattamente la dimensione di tutto.

Cerca soprattutto le cose che vengono copiate nelle tue risorse che non dovrebbero essere. A volte arrivano cose divertenti, specialmente la documentazione che hai aggiunto al progetto. Provando questo, mi accorgo che il mio modello di progetto ha copiato i file xcconfig nel pacchetto (devo risolvere il problema ...)

Se si dispone di molti NIB localizzati, si consiglia di considerare di non localizzare i NIB, e piuttosto usando IBOutlet UILabels. Non localizzare un NIB se non c'è un testo localizzato reale. Solo perché localizzi una NIB non significa che devi localizzarle tutte.

In genere le impostazioni di build per iPhone sono già aggressive nel ridurre le dimensioni, quindi non mi verrebbe a confondere molto senza ricercare ciò che si sta modificando.

Fate attenzione alle classi Objective-C con molti metodi che non chiamate mai. Objective-C è dinamico, quindi non è possibile eseguire il dead-code stripping su di esso come in C. Non c'è modo di sapere in fase di compilazione se un selettore può essere usato in fase di esecuzione. Quindi se hai degli oggetti che contengono il lavello della cucina "per ogni evenienza", potresti volerli spogliare. Ma in generale non stiamo parlando di molto spazio qui rispetto a un singolo file audio. Lo menziono solo per il raro caso in cui hai un oggetto davvero enorme a cui ti colleghi solo per qualche metodo di classe o costante o simile.

2

Un consiglio sarebbe utilizzare i formati multimediali compresso. Per esempio. se stai usando file audio potresti prendere in considerazione l'utilizzo di mp3 invece di AIFF o WAV, al prezzo possibile di un overhead di elaborazione leggermente superiore. Un eseguibile da 10 MB suona in modo insolitamente alto, quindi forse un'app grande potrebbe contenere molti contenuti multimediali (immagini, audio).

0

Il processo di compilazione comprime automaticamente file PNG per te (usando pngcrush, non farlo tu stesso), quindi in realtà dovresti avere un bel po 'di risorse per superare i 10MB è la dimensione.Penso che preoccuparsi di ciò è un'ottimizzazione prematura e probabilmente non ti devi preoccupare fino a quando non ti sarai avvicinato più tardi.

1

Converti alcune delle tue immagini più grandi in scala di grigi se funzionerà con il look della tua app. Se riesci a fare pochi gradi in scala di grigi, i risparmi sono piuttosto consistenti.

0

Questa Tipos sarà per lo applica ai giochi per iPhone:

  • Uso JPG invece di PNG per le immagini che non hanno la trasparenza.
  • Disporre i suoni in mp3, render in WAV la prima volta che l'app viene caricata e salvarli nell'app Documenti dir.
Problemi correlati