Práticas recomendadas para desenvolvimento no Android (versão Go)
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Siga estas práticas recomendadas e confira as respostas para perguntas comuns ao começar a
desenvolver ou otimizar seu app para Android (versão Go).
- Não adicione permissões excessivas ao app.
- Minimize a atividade do app quando em segundo plano e quando o
dispositivo está sendo executado com pouca energia.
- Evite o uso dos wake locks, porque eles impedem o dispositivo de entrar em
estados de baixo consumo de energia.
- Coloque atividades de rede em lote para reduzir o número de ativações. Você pode usar o
WorkManager para agendar tarefas
e permitir que o sistema coloque as operações em lote.
- Teste seus layouts em telas menores para validar a redução.
- Métodos como
isLowRamDevice()
e
getMemoryClass()
ajudam a determinar as restrições de memória
durante a execução. Com essas informações, é possível
reduzir o uso da memória. Por exemplo, é possível usar imagens de resolução mais baixa
em dispositivos com pouca memória.
- Permita que o app seja instalado no armazenamento externo usando a sinalização
android:installLocation
no arquivo AndroidManifest.xml
.
- Se você quiser criar para um público-alvo de grande escala, consulte a
documentação
Criar para bilhões.
Otimizar para o Go ou começar do zero
Muitos desenvolvedores que pretendem lançar apps no Android Go podem se perguntar se precisam
otimizar um app existente ou desenvolver um novo. Essa escolha depende
de muitos fatores, incluindo quantos recursos de desenvolvimento você tem, se pode
manter os recursos no app otimizados para esses dispositivos
e que tipo de cenários de distribuição você quer permitir aos usuários finais
no mundo todo.
- Um app para todos
- Use o mesmo app e ofereça uma experiência idêntica para dispositivos Android (versão Go) e
todos os outros. Nesse caso, você otimiza o app existente para
ser executado de forma correta nesses dispositivos, e os usuários notam benefícios de desempenho
dessas otimizações. Recomendamos o uso do
Android App Bundle para uma economia significativa de tamanho
sem ter que refatorar o código.
- Dois apps
- Crie um novo app “light” direcionado para dispositivos Android (versão Go).
Você pode manter o app atual como está. O app "lite" ainda pode ser destinado a todos os
dispositivos em todas as localidades, já que não há uma determinação de que esse app "lite" seja voltado apenas a
dispositivos Android (versão Go).
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-27 UTC."],[],[],null,["# Best practices for Android (Go edition) development\n\nFollow these best practices and answers to common questions when starting to\ndevelop or optimize your app for Android (Go edition).\n\n- Don't add any excessive permissions to your app.\n- Minimize app activity when in the background and when the device is running on low power.\n- Avoid using wake locks because they prevent the device from going into low-power states.\n- Batch network activity to reduce the number of wakeups. You can use [WorkManager](/topic/libraries/architecture/workmanager) to schedule tasks and let the system batch operations.\n- Validate that your layouts scale down by testing on smaller screens.\n- Methods such as [`isLowRamDevice()`](/reference/android/app/ActivityManager#isLowRamDevice()) and [`getMemoryClass()`](/reference/android/app/ActivityManager#getMemoryClass()) help determine memory constraints at runtime. Using this information, you can scale down your memory use. For example, you can use lower resolution images on low memory devices.\n- Allow your app to be installed to external storage using the [`android:installLocation`](/guide/topics/manifest/manifest-element#install) flag in your `AndroidManifest.xml` file.\n- If you're looking to build for a larger-scaled audience, take a look at the [Build for billions](/topic/billions) documentation.\n\nOptimize for Go or start fresh\n------------------------------\n\nMany developers looking to launch apps on Android Go may wonder if they should\noptimize their existing app or develop an entirely new one. This choice depends\non many factors, including how many development resources you have, whether or\nnot you can keep features in your app that are optimized for these devices,\nand what type of distribution scenarios you want to enable for end-users around\nthe world.\n\nOne app for all\n: Use the same app for Android (Go edition) devices and all other devices with\n an identical experience. In this case, you are optimizing your existing app to\n run well on these devices, and your existing users gain performance benefits\n from those optimizations. We highly encourage you to use the\n [Android App Bundle](/guide/app-bundle) to experience significant size savings\n without having to refactor your code.\n\nTwo apps\n: Create a new \"light\" app and target Android (Go edition) devices.\n You can leave your existing app as is. The \"lite\" app can still target all\n devices in all locales as there is no requirement for this \"lite\" app to only\n target Android (Go edition) devices."]]