Best Android Development Practices to Follow

Android app

Whenever even a single application hogs more than sufficient amount of memory like using more CPU, GPU or battery then, rest of the suffers as an impact. This activity can be responsible for bad user experience. Android often close various apps to provide memory when asked by another application. Let’s dig deeper into some of the best practices for designing and developing Android apps as performance always matters.

1. Separate layout for UI elements
It is advisable to create a separate layout for UI elements that would be re-used. This is possible with <include /> tag and <merge /> tag.


2. Smart Resource Utilization
It is smart practice to employ seperate resources for debug and release. By debug and release buildtypes are provided. You simply need to separate files (source, resources & assets) for every build type by creating their corresponding folders inside the project structure. These folders should be containing only the overriding files.


3. Prefer shapes and selectors over images
it is smart approach to use shapes and selectors than images whenever possible. Use <shape / > tag to draw basic shapes and gradients and <selector /> tag to add various visual effects like pressed, checked or diabled. These shapes which are created using these tags are very sharp and need not be created for multiple densities.


4. No need to add entire Google Play Services library package
As Google also provides native libraries individually which can be added using build.gradle. There is no need to add the whole Google Play Services package. Here is a list of libraries available.


5. Use an HTTP library to ease Debug
Mosly when a big application is build networking code can get big due to boilerplate code. This will create some difficulty not only to maintain the app but, will also make debugging quite hard. Retrofit and Volley are two such libraries that are effective in reducing boilerplate code with huge margin.


6. Avoid file operations over UI thread
File operations should be performed using an AsyncTask/Loader over a worker thread. In this way UI thread would not be used and interface will not make UI thread slow which means no ANR will be triggered which could have been if UI thread would have blocked for 5 seconds or more.


These are few yet impactful tips that need to be followed while developing an engaging Android application. There are numerous other optimizations that can be done and many more that might be specific to your application. Following good practices not only makes it easier to manage and maintain your code but also reduces the number of potential bugs in your application.

 You may also like: