Best practice per lo sviluppo in Android Go
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Segui queste best practice e le risposte alle domande più comuni quando inizi a sviluppare o ottimizzare la tua app per Android Go.
- Non aggiungere autorizzazioni eccessive alla tua app.
- Riduci al minimo l'attività delle app quando in background e quando il dispositivo è in carica a basso consumo.
- Evita di utilizzare i wakelock perché impediscono al dispositivo di entrare in uno stato di bassa potenza.
- Attività di rete batch per ridurre il numero di wakeup. Puoi utilizzare WorkManager per pianificare le attività e consentire al sistema di eseguire operazioni in batch.
- Verifica che i layout vengano ridimensionati eseguendo test su schermi più piccoli.
- Metodi come
isLowRamDevice()
e getMemoryClass()
aiutano a determinare i vincoli di memoria in fase di runtime. Queste informazioni consentono di
ridurre l'uso della memoria. Ad esempio, puoi usare immagini a
bassa risoluzione su dispositivi con poca memoria.
- Consenti l'installazione dell'app nella memoria esterna utilizzando il flag
android:installLocation
nel file AndroidManifest.xml
.
- Se vuoi creare soluzioni per un pubblico più ampio, consulta la documentazione su Crea per miliardi.
Ottimizza per Go o ricomincia da zero
Molti sviluppatori che vogliono lanciare app su Android Go potrebbero chiedersi se dovrebbero ottimizzare la loro app esistente o svilupparne una completamente nuova. Questa scelta dipende da molti fattori, tra cui il numero di risorse di sviluppo di cui disponi, la possibilità o meno di mantenere nell'app funzionalità ottimizzate per questi dispositivi e il tipo di scenari di distribuzione che vuoi attivare per gli utenti finali di tutto il mondo.
- Un'app per tutti
- Utilizza la stessa app per i dispositivi Android Go e per tutti gli altri dispositivi con la stessa esperienza. In questo caso, stai ottimizzando l'app esistente in modo che funzioni correttamente su questi dispositivi e gli utenti esistenti usufruiscono di vantaggi in termini di rendimento da queste ottimizzazioni. Ti consigliamo vivamente di utilizzare
Android App Bundle per risparmiare dimensioni significative
senza dover refactoring del codice.
- Due app
- Crea una nuova app "leggera" e scegli come target i dispositivi Android Go.
Puoi lasciare invariata l'app esistente. L'app "lite" può comunque scegliere come target tutti i dispositivi in tutte le lingue, poiché non è necessario che questa app abbia come target solo dispositivi Android Go.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[null,null,["Ultimo aggiornamento 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."]]