Android is a Linux-based operating system designed primarily for touchscreen mobile devices such as smartphones andtablet computers. Initially developed by Android, Inc., whom Google financially backed and later purchased in 2005,Android was unveiled in 2007 along with the founding of the Open Handset Alliance: a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. The first Android-powered phone was sold in October 2008.
Android is open source and Google releases the code under the Apache License.This open source code and permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. Additionally, Android has a large community of developers writing applications ("apps") that extend the functionality of devices, written primarily in a customized version of the Java programming language.In October 2012, there were approximately 700,000 apps available for Android, and the estimated number of applications downloaded from Google Play, Android's primary app store, was 25 billion.
A Samsung Galaxy Note II's homescreen, showing the status bar, a clock and weather widget, a Google search bar, and several app shortcuts
History
Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-founder of Danger), Rich Miner(co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile), and Chris White (headed design and interface development at WebTV)to develop, in Rubin's words "...smarter mobile devices that are more aware of its owner's location and preferences." Despite the obvious past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company.
Google acquired Android Inc. on August 17, 2005, making it a wholly owned subsidiary of Google. Key employees of Android Inc., including Rubin, Miner and White, stayed at the company after the acquisition.Not much was known about Android Inc. at the time, but many assumed that Google was planning to enter the mobile phone market with this move.At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.
Linux
Android consists of a kernel based on the Linux kernel 2.6 and Linux Kernel 3.x (Android 4.0 onwards), with middleware,libraries and APIs written in C and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik dex-code (Dalvik Executable), which is usually translated from Java bytecode.The main hardware platform for Android is the ARM architecture. There is support for x86 from the Android x86 project, and Google TV uses a special x86 version of Android.
Android's linux kernel has further architecture changes by Google outside the typical Linux kernel development cycle.Android does not have a native X Window System by default nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android.But the support of simple C and SDLapplications is possible by injection of a small Java shim and usage of the JNI like e.g. in the Jagged Alliance 2 port for Android.
Memory management
Since Android devices are usually battery-powered, Android is designed to manage memory (RAM) to keep power consumption at a minimum, in contrast to desktop operating systems which generally assume they are connected to unlimited mains electricity. When an Android app is no longer in use, the system will automatically suspend it in memory - while the app is still technically "open," suspended apps consume no resources (e.g. battery power or processing power) and sit idly in the background until needed again. This has the dual benefit of increasing the general responsiveness of Android devices, since apps don't need to be closed and reopened from scratch each time, but also ensuring background apps don't waste power needlessly.
Android manages the apps stored in memory automatically: when memory is low, the system will begin killing apps and processes that have been inactive for a while, in reverse order since they were last used (i.e. oldest first). This process is designed to be invisible to the user, such that users do not need to manage memory or the killing of apps themselves. However, confusion over Android memory management has resulted in third-party task killers becoming popular on the Google Play store; these third-party task killers are generally regarded as doing more harm than good.
Usage share of Android versions
Version | Code name | Release date | API level | Distribution (December 3, 2012) |
---|---|---|---|---|
4.2 | Jelly Bean | November 13, 2012 | 17 | 0.8% |
4.1.x | Jelly Bean | July 9, 2012 | 16 | 5.9% |
4.0.x | Ice Cream Sandwich | December 16, 2011 | 15 | 27.5% |
3.2 | Honeycomb | July 15, 2011 | 13 | 1.2% |
3.1 | Honeycomb | May 10, 2011 | 12 | 0.4% |
2.3.3–2.3.7 | Gingerbread | February 9, 2011 | 10 | 50.6% |
2.3–2.3.2 | Gingerbread | December 6, 2010 | 9 | 0.2% |
2.2 | Froyo | May 20, 2010 | 8 | 10.3% |
2.0–2.1 | Eclair | October 26, 2009 | 7 | 2.7% |
1.6 | Donut | September 15, 2009 | 4 | 0.3% |
1.5 | Cupcake | April 30, 2009 | 3 | 0.1% |