Perché una tastiera di terze parti è lenta la prima volta che si apre
L’estensione è un processo separato che iOS avvia su richiesta e scarica quando la tastiera si nasconde: la prima comparsa della sessione paga un avvio che le successive non pagano più.
Tocchi un campo di testo, la tastiera ci mette un attimo, e poi è istantanea per tutto il resto della giornata. Non è un difetto e non è solo questione di qualità del codice: è la forma stessa della cosa.
Una tastiera è un processo separato
Su iOS una tastiera di terze parti non è una vista dentro l’app in cui scrivi. È un’estensione: un processo separato, con la propria sandbox, che il sistema avvia quando un campo riceve il fuoco e termina quando la tastiera resta nascosta per un po’.
Alla prima comparsa paghi quindi un avvio completo: caricamento, inizializzazione, costruzione dell’interfaccia. Alla seconda il processo è ancora vivo e resta solo da mostrarlo.
Perché è peggio dopo un riavvio
Dopo un riavvio del telefono non c’è nulla di preriscaldato: né cache né librerie già caricate. Lo stesso effetto si ha dopo un aggiornamento dell’app della tastiera, perché il sistema deve rileggere l’estensione.
Si sente anche quando la memoria è poca. iOS termina le estensioni prima delle app quando serve spazio, e la tastiera è tra le prime cose a cadere. La chiamata successiva è di nuovo un avvio a freddo.
Cosa può fare una tastiera
- Restare piccola. Meno carica all’avvio, più corto l’avvio a freddo. Grandi librerie di font, chiamate di rete al lancio e framework pesanti si pagano proprio qui.
- Non aspettare la rete. Una tastiera che vuole scaricare qualcosa all’avvio resta appesa alla connessione. Senza rete il ritardo diventa un’attesa.
- Ripristinare lo stato a basso costo. L’aspetto, il suono e le impostazioni vanno letti come piccoli valori, non ricalcolati.
Quello che una tastiera **non** può fare è restare in memoria in modo permanente. Lo decide iOS e nessuna app può forzarlo. Chi promette «mai più latenza» promette qualcosa che non dipende da lui.
Cosa puoi fare tu
- Apri l’app contenitore una volta dopo l’installazione e dopo ogni aggiornamento. La prima chiamata della tastiera è poi di solito più rapida.
- Chiudi le app che occupano molta memoria se la tastiera si riavvia spesso.
- Non giudicare una tastiera dalla primissima apertura. La seconda e la terza mostrano com’è nell’uso quotidiano.
La differenza tra una tastiera fatta bene e una fatta male non sta nell’esistenza dell’avvio a freddo — c’è sempre — ma nella sua durata, e nel fatto che duri uguale anche senza connessione.
Domande frequenti
È colpa del mio telefono?
Solo in parte. I dispositivi più vecchi avviano i processi più lentamente, ma l’avvio a freddo esiste su qualsiasi iPhone: è conseguenza del fatto che le tastiere sono estensioni.
Perché torna lenta dopo un aggiornamento?
Perché il sistema deve rileggere l’estensione. La prima chiamata successiva è di nuovo un avvio completo.
Serve rimuovere e riaggiungere la tastiera?
Quasi mai. Reimposta solo la registrazione e non cambia il comportamento all’avvio. Aprire una volta l’app contenitore serve di più.
Provalo sulla tua tastiera
Kibo è una tastiera personalizzata gratuita per iPhone, con veri suoni meccanici, temi da scegliere ed effetti di retroilluminazione RGB. Senza account, senza pubblicità, e funziona anche con l’accesso completo disattivato.