Perfis de imagem de inicialização

Um perfil de imagem de inicialização (link em inglês) foi criado para melhorar a performance do sistema orientando a otimização do código no momento da compilação. Em essência, é um conjunto de dados que informa ao sistema quais partes do código são usadas com mais frequência durante o processo de inicialização e pelos componentes principais do sistema. Essas informações permitem que o ambiente de execução do sistema compile e otimize preventivamente esse código crítico, resultando em tempos de inicialização mais rápidos, inicializações de apps mais suaves e melhor capacidade de resposta geral do sistema.

Para mais informações sobre perfis de imagem de inicialização, consulte Perfis de imagem de inicialização.

Dados do perfil da imagem de inicialização

Os perfis de imagem de inicialização do AAOS incluem o seguinte:

  • Perfil para o classpath de inicialização (vendor/auto/embedded/products/boot-image-profile.txt). Determina quais métodos do classpath de inicialização serão otimizados.

Exemplo de conteúdo do perfil

Landroid/accounts/AccountManager;
Landroid/app/ActivityManager;
Landroid/app/ActivityTaskManager;
Landroid/app/ActivityThread;
Landroid/app/AlarmManager;
Landroid/app/AlertDialog;
Landroid/car/Car;
Landroid/car/input/CarInputManager;
Landroid/car/media/CarAudioManager;

Gerar perfis de imagem de inicialização

Para criar um perfil eficaz e gerar um perfil de imagem de inicialização realista, consulte Gerar perfis de imagem de inicialização com seus CUJs personalizados.

Para uma geração rápida de um perfil de imagem de inicialização especificamente para exemplos de CUJs do AAOS que estão iniciando o Google Maps e o Google Play, use o script art/tools/boot-image-profile-aaos-sample-generate.py. Esse script incorpora as etapas descritas no link mencionado acima.

Primeiros passos

Execute o comando a seguir para criar o Android, iniciar o Cuttlefish e executar o script para gerar um perfil de imagem de inicialização de amostra do AAOS.

Criar para o Android

Escolha um destino e execute o seguinte (por exemplo, aosp_cf_x86_64_auto-ap4a-userdebug):

source build/envsetup.sh
lunch <target>
m

Iniciar o Cuttlefish

Siga as instruções em Começar para iniciar o destino Cuttlefish.

Execute o script

python3 art/tools/boot-image-profile-aaos-sample-generate.py

Opcional: especifique o dispositivo ADB

export ANDROID_SERIAL=<your_device_serial>