The Android operating system was created by Google in 2005. The corporation bought the startup Android Inc. and engaged in this development. Since then, Android has developed rapidly and is now installed on more than 83% of all mobile devices in the world.
Android Mobile Application Specifics
Highly varied devices
This is great for users: you can choose a phone for every taste and for any technical requirements. But it is very difficult for developers, and this applies to both hardware and software.
A hardware device may have a front camera or not. There can be any number of sim cards. Physical buttons may or may not be present. There can be two screens: an additional one on the back or on a case.
Existing items also have different options. For example, an accelerometer sensor may be installed differently for different devices.
It would seem a trifle. But if you are making a game controlled by device tilts (for example, racing), then first you need to ask the user to turn the phone in his hands in the given directions so that the application recognizes the position of the installed sensor.
Screen size and resolution are a separate issue. For example, if you need to place an image on the entire screen of an iOS device, you use several images for the typical sizes of the iPhone 6 and above, iPhone 6 Plus and above, iPhone X, and iPhone X Max. In the case of Android, the screens have different resolutions, and different aspect ratios, and different densities.
In this regard, there are various tools for Android developers, for example, 9 Patch – a markup scheme that allows you to set the rules for stretching the image when changing its size. Without it, it is difficult to correctly display background images due to different screen sizes.
Accordingly, if you set a goal to fill the entire screen with an image, you need to either use several images and crop them to non-standard screen sizes or cut so that the individual parts form a single whole, but can move relative to each other.
Wide range of Android versions installed by users. This causes a lot of problems:
- It is necessary to take into account the features of the interface display on different versions of the OS and different shells. So, system controls can look completely different on different versions of Android and different shells of the same version of Android;
- Different versions at some points have different logic of work. For example, prior to version 6.0, applications did not have to request each permission separately (access to the camera, microphone, and so on), they were indicated by a list on Google Play, and it was understood that the user was familiarized with them until they were downloaded. Starting from version 6.0, each permission should be requested separately at the time of application operation. Accordingly, if you do not implement both versions of the logic, the application will not work either before version 6.0 or later;
- Software methods and libraries are changing: some of them are considered obsolete and need to be replaced with newer ones. Thus, the choice always arises: either to support the latest OS functions or to allow as many users as possible to install a mobile application;
- The latest OS versions have added a multitasking workspace. The user can display several applications on the screen at the same time, and your area can be selected perfectly arbitrary in size. This should also be considered.
The design of the application itself.
Unlike iOS, where applications are architecturally a single entity, in Android, they are assembled from logically independent and isolated parts – activity and fragments.
This approach was chosen just in order to ensure the operation of applications on completely different devices, including those with a very small amount of RAM and very weak processors. If the parts of the application are independent, any of them can be erased from memory at the right time and not waste precious resources on maintaining its life cycle. If you move from one section of the app to another, the memory used by the previous section is immediately deleted. This is to make sure that the device doesn’t run out of the necessary memory to run an application at any time.
Melissa Crooks is Content Writer who writes for Hyperlink InfoSystem, a mobile app development company in New York, USA and India that holds the best team of skilled and expert app developers. She is a versatile tech writer and loves exploring latest technology trends, entrepreneur and startup column. She also writes for top app development companies.