Android 4.4–4.4.4 "KitKat" is a version of the Androidmobile operating system developed by Google, spanning versions between 4.4 and 4.4.4. Unveiled on September 3, 2013, KitKat focused primarily on optimizing the operating system for improved performance on entry-level devices with limited resources.

Contents

Android 4.4 "KitKat" was officially announced on September 3, 2013. The release was internally codenamed "Key Lime Pie"; John Lagerling, director of Android global partnerships, and his team, decided to drop the name, arguing that "very few people actually know the taste of a key lime pie". Aiming for a codename that was "fun and unexpected", his team pursued the possibility of naming the release "KitKat" instead. Lagerling phoned a representative of Nestlé, who owns the Kit Kat brand and produces the confectionery outside the United States (where it is produced by The Hershey Company under license), and quickly reached a preliminary deal for a promotional collaboration between the two companies, later finalized in a meeting at Mobile World Congress in February 2013. The partnership was not revealed publicly, or even to other Google employees and Android developers (who otherwise continued to internally refer to the OS as "KLP"), until its official announcement in September.[1][2]

As part of the promotional efforts, Kit Kat bars in the shape of the Android robot logo were produced, while Hershey ran a contest in the United States with prizes of Nexus 7 tablets and Google Play Store credit.[2][3]

Continuing on from the focus on improving visual performance and responsiveness on Android 4.1 "Jelly Bean", the main objective of Android 4.4 was to optimize the platform for better performance on low-end devices, without compromising its overall capabilities and functionality. The initiative was codenamed "Project Svelte", which Android head of engineering Dave Burke joked was a weight loss plan after Jelly Bean's "Project Butter" added "weight" to the OS.[6] To simulate lower-spec devices, Android developers used Nexus 4 devices underclocked to run at a reduced CPU speed with only a single core active, 512 MB memory, and at 960×540 display resolution—specifications meant to represent a common low-end Android device.[6]

A development tool known as proctools was developed in order to analyze the memory usage of apps over time, especially those that run background services. This data was used to optimize and decouple Google apps and services found to be inefficient, thus helping to reduce the overall memory usage of Android. Additionally, 4.4 was designed to be more aggressive in managing memory, helping to guard against apps wasting too much memory.[6][7]

The overall interface of KitKat further downplays the "Holo" interface appearance introduced on 4.0, replacing remaining instances of blue accenting with greys and white (such as the status bar icons). Apps may trigger a translucent status and navigation bar appearance, or trigger a full screen mode ("Immersive mode") to hide them entirely. The launcher also received a refreshed appearance, with the implementation of the translucent navigation bars, and the replacement of the black backdrop in the application drawer with a translucent backdrop.[8][9] Additionally, action overflow menu buttons in apps are always visible, even on devices with the deprecated "Menu" navigation key.[10] In the Settings menu, users can now specify a default Home (launcher) and text messaging app.[11]

On stock devices, the Messaging and Movie Studio apps were removed; the former was replaced by Google Hangouts, which supports SMS. The AOSP Gallery app was also deprecated in favor of Google+ Photos.[8] In certain apps, a new "Documents" file picker is available.[12]

Devices with 512 MB of RAM or less report themselves as "low RAM" devices. Using an API, apps may detect low RAM devices and modify their functionality accordingly. KitKat also supports zram.[7][9] WebView components were updated to utilize a version of the Google Chromerendering engine.[15] A new Storage Access Framework API allows apps to retrieve files in a consistent manner; as part of the framework, a new system file picker allows users to access files from various sources (including those exposed by apps, such as online storage services).[12]