Como programador Android, a otimização de desempenho é algo que não pode ser evitado, e a otimização de desempenho também é uma das tarefas mais desafiadoras do Android e é uma habilidade essencial que todo engenheiro precisa dominar.
Problemas de desempenho são diferentes de bugs. As ideias de análise e solução para estes últimos são mais claras. Em muitos casos, a causa raiz do problema pode ser encontrada diretamente no log do aplicativo. No entanto, para problemas de desempenho, as ideias de solução de problemas são mais complicadas.
Otimizar o desempenho de um aplicativo é um projeto sistemático que exige que os engenheiros tenham amplitude e profundidade técnicas. **Um aplicativo simples não inclui apenas o código do aplicativo em si, mas também está intimamente relacionado a máquinas virtuais, armazenamento, redes, etc. Quando ocorrem problemas de desempenho em aplicativos online, precisamos considerar vários aspectos.
Principalmente problemas de memória. A maioria dos problemas de desempenho está diretamente ligada à memória. Muitos engenheiros sempre procuram soluções específicas para um determinado problema de desempenho durante o processo de aprendizagem, mas nunca o consideram. Se quiserem entender completamente Para cada problema de memória, você deve entender seu princípios da parte inferior da JVM.
É por isso que os grandes, aos seus olhos, precisam dominar os princípios da JVM
Se você deseja otimizar o desempenho, o processo de inicialização do sistema, a alocação de objetos JVM, o mecanismo de GC, o agendamento de threads e o gerenciamento de processos estão intimamente relacionados ao desempenho do dispositivo.
Ao mesmo tempo, depois de se aprofundar na JVM, você poderá fortalecer seu entendimento das linguagens de programação, o que é muito útil para o ajuste de APP e também pode ajudá-lo a escrever código mais eficiente e de baixo custo.
Todo programador deseja passar de novato a mestre. Então, onde está a linha divisória entre um novato e um mestre?
Eles os chamam de mestres, e a lógica por trás deles não é apenas porque eles entendem estruturas ou entendem vários idiomas, mas também porque entendem a camada subjacente . Somente com compreensão suficiente da camada subjacente podemos desenvolver aplicativos com melhor desempenho.
Então: o verdadeiro divisor de águas é a compreensão dos princípios subjacentes.
Em entrevistas com grandes empresas, esta parte dos princípios subjacentes é também uma parte que é frequentemente questionada. Muitas pessoas queixam-se frequentemente de que “a entrevista constrói foguetes e o trabalho aperta os parafusos ”. é usado para examinar se o candidato tem paixão por tecnologia, grande entusiasmo e profundidade técnica suficiente.
- Você sabe por que o entrevistador pergunta sobre os princípios da startup?
- Você sabe quais perguntas específicas serão incluídas no princípio que está sendo perguntado?
- Você sabe como esses princípios orientam nossa prática de desenvolvimento de código?
- Você sabe como otimizar nosso desempenho a nível arquitetônico?
Hoje em dia, o período de dividendos da Internet móvel doméstica já passou, e o desenvolvimento do Android também deixou de ser difícil de encontrar para uma pessoa para encontrar uma posição com centenas de pessoas concorrendo. A situação de mais monges e menos pessoas levou diretamente a os requisitos de toda a indústria para quem procura emprego estão se tornando cada vez mais altos, e o desenvolvimento do Android tornou-se cada vez mais difícil.Quanto mais padronizado for, maiores serão os requisitos de qualidade do projeto. O ajuste de desempenho, como otimização de inicialização, otimização de memória e monitoramento de falhas de aplicativos, tornou-se gradualmente habilidades essenciais para todos.
Portanto, somente melhorando continuamente nossa força técnica e avançando para engenheiros seniores poderemos ter a chance de subir ao topo do Android.
Para ajudar todos a compreender a otimização de desempenho de forma mais abrangente e clara, preparamos notas principais relevantes (incluindo a lógica subjacente):https://qr18.cn/FVlo89
Notas principais sobre otimização de desempenho:https://qr18.cn/FVlo89
Otimização de inicialização
, otimização de memória,
otimização de UI,
otimização de rede,
otimização de bitmap e otimização de compactação de imagem : otimização de simultaneidade multi-thread e otimização de eficiência de transmissão de dados, otimização de pacote de volumehttps://qr18.cn/FVlo89
"Estrutura de monitoramento de desempenho do Android":https://qr18.cn/FVlo89
"Manual de aprendizagem da estrutura Android":https://qr18.cn/AQpN4J
- Processo de inicialização
- Inicie o processo Zygote na inicialização
- Inicie o processo SystemServer na inicialização
- Driver de fichário
- Processo de inicialização do AMS
- Processo de inicialização do PMS
- Processo de inicialização do iniciador
- Quatro componentes principais do Android
- Processo de distribuição de eventos de entrada de serviço do sistema Android
- Renderização subjacente do Android - análise do código-fonte do mecanismo de atualização de tela
- Análise de código-fonte Android na prática