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()`](https://developer.android.com/reference/android/app/ActivityManager#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](https://developer.android.com/guide/topics/androidgo#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](https://developer.android.com/guide/topics/androidgo#differences_from_main_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).