Quando o projeto iOS está em execução, a memória XCode está disparando, a velocidade é lenta e o processo de solução do cartão

Aviso antigo do XCode

A partir deste ano, durante o processo de desenvolvimento do projeto principal de um componente do projeto, demora muito para rodar e compilar. XCode sempre vira crisântemo? O tempo médio de compilação é de cerca de 5 minutos cada vez, o que muito afeta a eficiência do desenvolvimento. Acabei de terminar o teste hoje. , reserve um tempo para ver mais de perto por que está tão travado.

  • ambiente
chave valor
Mac OS 13.2.1 (22D68)
Memória 16 GB
lasca Maçã M1
armazenar 512G
Código X 14.0.1
código do componente 19 MB

Abra o monitor de atividades quando ele estiver travado e descubra que o XCode ocupa uma memória muito alta, com uma média de cerca de 20 GB e um pico de 60 GB

77611677480135_.pic.jpg

Depois que Command + k exclui o cache em DerivedData, ainda não há resultado de aceleração óbvio.

procure o motivo

Ver log de compilação

imagem.png

Descobriu-se que todos os arquivos no componente terão vários avisos semelhantes ao compilar.

Esses avisos vêm do mesmo arquivo, referenciado por meio do arquivo pch.

O arquivo com warnings é o arquivo de requisição de rede do componente, que foi criado há muito tempo, NS_ASSUME_NONNULL_BEGINprovavelmente existem centenas de warnings no arquivo que não são gerados automaticamente. Ao compilar arquivos, esses avisos serão armazenados em cache e analisados. Faz com que ele funcione muito lento.

resolver

Elimine o aviso, recompile e descubra que o projeto roda confortavelmente!

Se houver avisos de outras bibliotecas ou componentes de terceiros, você pode adicionar: ao podFile inhibit_warnings => truepara evitar a verificação de avisos durante a compilação. Essa abordagem também acelera a compilação.

pod 'XXNetEngineModule', :inhibit_warnings => true
复制代码

Pode-se ver que o tamanho da memória do XCode após a resolução é basicamente em torno de 1 GB. A velocidade de compilação pode atingir basicamente a segunda inicialização (dentro de 10s).

imagem.png

Acho que você gosta

Origin juejin.im/post/7207737667990945850
Recomendado
Clasificación