Building applications for use on Android (Go edition) devices requires special attention to performance optimizations and resource usage. There are two main components to understand when building for Android (Go edition): the operating system (OS) and the Google Play Store.
Operating system compatibility
It's very important to develop an OS-aware app when developing for Android
(Go edition). By OS-aware, we mean that your app can detect and adapt to
Android (Go edition) users. For instance, the
isLowRamDevice()
flag enables your app to detect whether it is running on a low-memory device
and behave accordingly.
By knowing the OS of your users, you can limit certain functionalities that aren't available on Go devices, like drawing over other apps or using multi-display. For a full list of app limitations on Go, see Differences from Android.
Importance of POST-boot RAM
There are instances where processes and tasks can run persistently in the
background, either from the system or apps from the Play Store. For example,
when a device restarts, there is a BOOT_COMPLETED
broadcast that might be a
requirement from many services or apps running on a user’s device. This
persistent broadcast can lead to apps not launching, or having
foreground tasks fail, due to low memory on a device.
All apps on a user’s device directly impact memory availability. If these apps initiate broadcasts or services, then it becomes mandatory for Android (Go edition) apps to query post-boot system memory availability on a user's device as it directly impacts the end-user experience.
Developer choices
When it comes to making choices for your application as a developer, you should ensure your app can run with Android (Go edition) limitations in mind. Sometimes, allowing users to simply disable a specific feature is not enough, as apps might require those features to be enabled to run properly. For a list of the most common limitations on Android (Go edition), see Differences from Android.
Google Play Store
The Google Play Store looks, feels, and operates the same on both Android (Go edition) and Android. However, on Go devices, the Play Store may recommend apps that are optimized for Android (Go edition).