K Kibo Baixar

Por que um teclado de terceiros trava na primeira vez que abre

A extensão é um processo separado que o iOS inicia sob demanda e descarrega quando o teclado some: a primeira aparição da sessão paga uma inicialização que as seguintes não pagam mais.

Você toca num campo de texto, o teclado demora um instante, e depois fica instantâneo o resto do dia. Não é defeito nem é só questão de qualidade de código: é o formato da coisa.

Um teclado é um processo separado

No iOS um teclado de terceiros não é uma visualização dentro do app em que você escreve. É uma extensão: um processo separado, com sua própria caixa isolada, que o sistema inicia quando um campo recebe o foco e encerra quando o teclado fica escondido por um tempo.

Na primeira aparição você paga então uma inicialização completa: carregar, inicializar, montar a interface. Na segunda o processo ainda está vivo e só falta exibi-lo.

Por que é pior depois de reiniciar

Depois de reiniciar o telefone não há nada pré-aquecido: nem caches nem bibliotecas já carregadas. O mesmo efeito ocorre depois de atualizar o app do teclado, porque o sistema precisa reler a extensão.

Também se nota quando há pouca memória. O iOS encerra extensões antes de apps quando precisa de espaço, e o teclado é uma das primeiras coisas a cair. A chamada seguinte é de novo uma inicialização a frio.

O que um teclado pode fazer

O que um teclado **não** pode fazer é permanecer na memória de forma permanente. Isso quem decide é o iOS e nenhum app consegue forçar. Quem promete «nunca mais atraso» promete o que não está na mão dele.

O que você pode fazer

  1. Abra o app contêiner uma vez depois de instalar e depois de cada atualização. A primeira chamada do teclado costuma ficar mais rápida em seguida.
  2. Feche apps que ocupam muita memória se o teclado reinicia com frequência.
  3. Não julgue um teclado pela primeiríssima abertura. A segunda e a terceira mostram como ele é no dia a dia.

A diferença entre um teclado bem e mal construído não está em existir inicialização a frio — sempre existe — mas em quanto ela dura, e em ela durar o mesmo sem conexão.

Perguntas frequentes

É problema do meu telefone?

Só em parte. Aparelhos antigos iniciam processos mais devagar, mas a inicialização a frio existe em qualquer iPhone: é consequência de teclados serem extensões.

Por que fica lento de novo depois de uma atualização?

Porque o sistema precisa reler a extensão. A primeira chamada depois disso é novamente uma inicialização completa.

Adianta remover e adicionar o teclado de novo?

Quase nunca. Isso só redefine o registro e não muda o comportamento de inicialização. Abrir uma vez o app contêiner costuma ajudar mais.

Teste no seu próprio teclado

O Kibo é um teclado personalizado gratuito para iPhone, com sons mecânicos de verdade, temas para escolher e efeitos de luz RGB. Sem conta, sem anúncios e funciona com o Acesso Total desativado.

Baixar na App Store

Guias relacionados

Todos os guias