Alarms become inexact by default
set() and setRepeating() alarms are inexact for apps targeting KitKat.
What to doUse setExact() only when the exact time is essential.
Runs in 512 MB of RAM
Low-cost Android devices were exploding in emerging markets, and many had only 512 MB of RAM.
Android assumed memory was plentiful. On cheap hardware it swapped and stuttered, giving the platform a reputation for being slow on budget phones.
KitKat was engineered to run in 512 MB, added the Storage Access Framework, printing, immersive mode, and — quietly — an experimental runtime called ART.
The release that hid Android's future inside its own directory.
What changed underneath the APIs. These are the changes this site's architecture modules explain in depth.
The full archive has every recorded change with its migration advice.
set() and setRepeating() alarms are inexact for apps targeting KitKat.
What to doUse setExact() only when the exact time is essential.
The system file picker lets users grant access to specific documents.
What to doUse ACTION_OPEN_DOCUMENT instead of asking for storage permission.
BIND_NFC_SERVICEsignatureBIND_PRINT_SERVICEsignatureBLUETOOTH_PRIVILEGEDunknownCAPTURE_AUDIO_OUTPUTunknownINSTALL_SHORTCUTnormalMANAGE_DOCUMENTSunknownMEDIA_CONTENT_CONTROLunknownTRANSMIT_IRnormalUNINSTALL_SHORTCUTunknownThis release shipped on Linux kernel versions 3.4. Kernel versions vary by device.