Como acelerar o Android durante o tempo de inicialização?

13

Estou observando o tempo de inicialização do Android no meu dispositivo incorporado e estou tentando entender onde posso economizar algum tempo.

1) Quais são algumas das ações que você fez para realmente ajudar a acelerar o tempo de inicialização?

Até agora, observei o tempo de animação da inicialização. Se eu remover a animação de inicialização todos juntos, economizaria cerca de 6 segundos, o que me pareceu muito. Substituí a animação de inicialização por apenas uma imagem que será mostrada durante o tempo da animação de inicialização e que perdeu qualquer economia de tempo anterior. Mas o processo de animação de inicialização real estava demorando apenas 1 segundo para ser executado. (Anexei uma imagem gerada com o Bootchart. Por enquanto, apenas em um emulador)

2) Vale a pena observar o tempo de animação da inicialização do Android? Alguma pista sobre o motivo pelo qual o processo de animação de inicialização afeta o tempo de inicialização de maneira tão estranha?

Obrigado pelo seu tempo.

Visualização do tempo de inicialização do bootchart com 1 imagem como a animação de inicialização

Fluxo
fonte

Respostas:

2

Duas etapas para acelerar a inicialização do kernel do Linux:

  1. Configure o kernel do Linux com um conjunto mínimo de drivers de dispositivo, ou seja, apenas os drivers precisam inicializar e carregar o sistema de arquivos raiz. Todos os drivers, sistemas de arquivos ou subsistemas que podem ser construídos como um módulo (que você deseja no kernel, mas não é usado durante a inicialização) devem ser configurados como um módulo, e não estaticamente vinculados.

    Para ver quanto tempo é usado no carregamento de drivers durante a inicialização, você deve modificar a linha de comando do kernel com a opção "initcall_debug" . Isso fará com que as informações de tempo sejam impressas no console para cada chamada de inicialização . O initcalls é usado para inicializar drivers e subsistemas do kernel vinculados estaticamente e contribuir com uma quantidade significativa de tempo no processo de inicialização do Linux. A reconfiguração de drivers desnecessários em módulos carregáveis ​​subtrairá a chamada inicial tempo desde o tempo de inicialização do kernel.

  2. Modifique a linha de comando do kernel com a opção "quiet" . Isso desativará a maior parte da saída de mensagens de log para o console. Obviamente, isso só deve ser feito depois que você tiver um kernel estável.

Mais técnicas estão aqui


fonte