Zygote
API 21 · LOLLIPOP

Android 5.0 Lollipop

Material Design

released
2014-11-03
runtime
ART
design
Material
status
stable

The story

Google had just announced Material Design, a unified visual language across products.

The problem

Dalvik's interpretation model limited performance and made the platform's runtime a liability on new hardware. 64-bit CPUs were arriving and Dalvik was not ready.

Lollipop replaced Dalvik with ART, added 64-bit support, brought Material Design, introduced JobScheduler and Project Volta, and made SELinux fully enforcing.

The one thing to remember

The largest single architectural change in Android's history.

What shipped

  • Material Design
  • ART replaces Dalvik as the default runtime
  • 64-bit support
  • Notifications on the lock screen
  • Battery Saver
  • Project Volta

Platform internals

What changed underneath the APIs. These are the changes this site's architecture modules explain in depth.

  • ART becomes the only runtime: ahead-of-time compilation at install
  • 64-bit ARM and x86 support
  • RenderThread and OpenGL ES 3.1
  • Project Volta and JobScheduler
  • SELinux fully enforcing

What developers had to deal with

  • JobScheduler
  • android.hardware.camera2
  • RecyclerView (support library)
  • WebView via Play Store updates
  • Implicit service intents restricted for targeting apps

Behaviour changes

The full archive has every recorded change with its migration advice.

targetingbackground

Implicit service intents are restricted

bindService with an implicit intent throws an exception.

What to doUse an explicit intent naming the package or component.

Permissions introduced here

  • BIND_DREAM_SERVICEsignature
  • BIND_TV_INPUTsignature|privileged
  • BIND_VOICE_INTERACTIONsignature
  • READ_VOICEMAILsignature|privileged|role
  • WRITE_VOICEMAILsignature|privileged|role

Where this sits

Release 21 of 37 API levels, by date
Headline features
6
Architecture changes
5
Developer changes
5
Sources cited
4

Kernel

This release shipped on Linux kernel versions 3.4. Kernel versions vary by device.