Android Programming Interview Question
Comprehensive source of knowledge for interviews Android Programming.
Introducing Android

1. What is Android?
Android is a Linux-based operating system designed for touchscreen mobile devices such as smartphones and tablet computers. It was originally developed by Android Inc. with financial backing from Google and was later acquired by Google itself in 2005.
Android is open source, and Google released the source code under the Apache License. The open source code, along with a less restrictive license, allows device developers, mobile carriers, and enthusiast programmers to freely modify and distribute Android. Additionally, Android has a large developer community that writes applications to extend the functionality of devices, using the Java programming language. As of October 2012, there were approximately 700,000 applications on Android, and the number of application downloads from Google Play, Android's primary app store, was estimated at 25 billion.
2. Advantages of Android
- Open source: free application development and distribution..
- Platform independent: Android platform (Android Studio and Android SDK) is independent. Applications can be developed on any operating system with Android Stduio and Android SDK.
- High virtual machine performance: Android uses a highly optimized virtual machine, i.e. DVM (Dalvik Virtual Machine) for mobile devices. Replacing DVM, ART (Android RunTime) virtual machine was introduced to execute Android applications from Android lollipop 5.0 (API 21).
- Support for many technologies: camera support, voice, bluetooth, wifi, ...
- Millions of available applications: millions of Android applications are available that you can install on your device from the Google Play store as well as from other alternative stores
3. Disadvantages of Android
- Fake Apps: There are thousands of fake apps in the market, to steal your data upon installation.
- Background process:
-
In older versions of Android, most apps were always running in the background. Since Android 8.0, apps running in the background are now limited in how much freedom they have to access background services.
-
Since some apps run in the background, they consume your mobile battery and device battery quickly.
-
- Poor Data Connection: Android has a large number of processes running in the background constantly and this leads to excessive data usage and poor internet speeds. It can be very annoying at times.
Compatibility Issues: There are many types of Android devices available in the market with different screen sizes and dimensions, but more importantly, different Android operating systems. An app that runs smoothly on one version of Android operating system may have problems on another.