SlideShare a Scribd company logo
Lick my
Lollipop
#MoMoSlo
Željko Plesac
Android developer at
Infinum SI
zeljko.plesac@infinum.co
What are the main
drawbacks of
Android OS?
• Static design
• Battery drainage
• Over heating
• Lagging (it’s really slow after few months of usage)
• Decentralized - it lacks central Android body to
address the grievance of its users.
• Fragmentation
Solution for all of our problems?
Say hello to Android 5.0/L/Lollipop!
What’s new in
Android 5.0. Lollipop?
Material design
• brand new Android design theme/principles
• main goals:
1. Material is the metaphor
2. Bold, graphic, intentional
3. Motion provides meaning
https://www.youtube.com/watch?v=Q8TXgCzxEnw
Interfaces should be “bold, graphic, intentional”
Logo
LogoSurfaces and shadows
Tiny details
One design to conquer them all
Enhanced notifications
New ways to control when and how you
receive messages
High-priority notifications are presented to users for a short period
of time with an expanded layout exposing possible actions
Priority mode for fewer disruptions
View and respond to messages directly
from your lock screen
ART
• Android apps are deployed in Dalvik bytecode, which is
portable, unlike native code. In order to be able to run the
app on a device, the code has to be compiled to machine
code.
• older versions of Android use Dalvik VM
• based on JIT (just in time) compilation
• each time you run an app, the part of the code
required for its execution is going to be translated
(compiled) to machine code at that moment
• it has a smaller memory footprint and uses less
physical space on the device.
• Android 5.0 runs exclusively on the ART runtime,
which offers ahead-of-time (AOT) compilation
• The whole code of the app will be pre-
compiled during install (once)
Why is this good?
• With no need for JIT compilation, the code should
execute much faster
• it doesn't hit the CPU as hard as just-in-time code
compiling on Dalvik (also, results in less battery
drain)
Any downsides?
• the generated machine code requires more space
than the existing bytecode
• the code is pre-compiled at install time, so the
installation process takes a bit longer
• larger memory footprint at execution time (fewer
apps run concurrently)
Interested in statistics/benchmark?
• increased speed in CPU floating operations by
approx. 20%
• increased speed in RAM operations by approx. 10%
• increased speed in storage operations by approx.
10%
• CPU integer operations - slight advantage goes to
Dalvik
• Install times on my Nexus 4, for one of our larger
projects, jumped from ~17 s to ~25 s.
(tested on Kitkat 4.4.4, should be even faster now)
Project Volta
Android 5.0 emphasizes
improvements in battery life:
1. Scheduling jobs
2. Developer tools for
battery usage
1. Scheduling jobs
• Android 5.0 provides a new JobScheduler API that lets you
optimize battery life by defining jobs for the system to run
asynchronously (at a later time or under specified condition)
• The app has non-user-facing work that you can defer.
• The app has work you'd prefer to do when the unit is
plugged in.
• The app has a task that requires network access or a Wi-Fi
connection.
• The app has a number of tasks that you want to run as a
batch on a regular schedule.
• You can schedule the task to run under specific
conditions, such as:
• Start when the device is charging
• Start when the device is connected to an
unmetered network
• Start when the device is idle
• Finish before a certain deadline or with a
minimum delay
2. Developer tools for battery usage
• The new dumpsys batterystats command generates interesting
statistical data about battery usage on a device, organized by unique
user ID (UID):
• History of battery related events
• Global statistics for the device
• Approximate power use per UID and system component
• Per-app mobile ms per packet
• System UID aggregated statistics
• App UID aggregated statistics
WebView updates
• since the release of Android 4.4
KitKat, WebView has been
based on Chromium (it has the
same rendering and Javascript
engine as Chrome for Android)
• WebView is now unbundled from
the system and will be regularly
updated through Google Play.
• every mobile device with
Android 5 or later should have
not only the same but the latest
browsing engine in the WebView
Multiple network
connections
• Android 5.0 provides new multi-networking APIs
that let your app dynamically scan for available
networks with specific capabilities, and establish a
connection to them
• useful when your app requires a specialized network, such
as an SUPL, MMS, or carrier-billing network, or if you want to
send data using a particular type of transport protocol.
New Camera and
Audio API
• Android 5.0 introduces the new
android.hardware.camera2 API to facilitate fine-
grain photo capture and image processing
• Use the new notification and media APIs to ensure
that the system UI knows about your media
playback and can extract and show album art.
• Controlling media playback across a UI and a
service is now a lot easier
• ability for apps to browse the media content library
of another app
Security
• encryption is automatically turned on to help
protect data on lost or stolen devices
• Android Smart Lock - secure your phone or tablet
by pairing it with a trusted device like your
wearable or even your car
Cross device
synchronization
• ability to pair up different devices (tablet + Android
wear + smartphone + Android TV) in one system
• applications are optimised for every device
• songs, photos, apps, and even recent searches
from one of your Android devices can be
immediately enjoyed across all of your Android
devices
Multi dex support
• Dalvik VM has one major limitation which we didn’t
discuss yet:
APK HAS UPPER LIMIT OF
65,536 METHODS!
• ART natively supports loading multiple .dex files
from application APK files.
• ART performs pre-compilation at application install
time which scans for classes(..N).dex files and
compiles them into a single .oat file for execution
by the Android device
• Android build tools construct a primary dex
(classes.dex) and supporting (classes2.dex,
classes3.dex) as needed. The build system will
then package them into an APK file for distribution.
and much more…
• BLE Peripheral Mode - Android devices can now function in
Bluetooth Low Energy (BLE) peripheral mod
• Managed provisioning and unified view of apps
• OpenGL ES 3.1 and Android Extension Pack
• 64-bit support
• Print preview and page range support
• better integration with OK Google
• Concurrent documents in Overview
• Android Work
Bonus :)
• Android Studio 1.0 RC 1 has been released to
Canary channel
• Material design has already been integrated to
Android Support Library
• Google Play Services Granular Dependency
Management - you’ll be able to depend only on the
parts of Google Play services that you use by
utilizing separate libraries for each API.
Fun times are coming!
Thanks!
zeljko.plesac@infinum.co
skype: zeljko.plesac
twitter: @ZeljkoPlesac
Fin.

More Related Content

What's hot

XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
The Linux Foundation
 
Citrix Desktop Master Class - Unidesk App Layering - Feb 2017
Citrix Desktop Master Class - Unidesk App Layering - Feb 2017Citrix Desktop Master Class - Unidesk App Layering - Feb 2017
Citrix Desktop Master Class - Unidesk App Layering - Feb 2017
Lee Bushen
 
How to Get the Best Deep Learning performance with OpenVINO Toolkit
How to Get the Best Deep Learning performance with OpenVINO ToolkitHow to Get the Best Deep Learning performance with OpenVINO Toolkit
How to Get the Best Deep Learning performance with OpenVINO Toolkit
Yury Gorbachev
 
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
The Linux Foundation
 
Building Microservices with Jakarta EE and MicroProfile - EclipseCon 2019
Building Microservices with Jakarta EE and MicroProfile - EclipseCon 2019Building Microservices with Jakarta EE and MicroProfile - EclipseCon 2019
Building Microservices with Jakarta EE and MicroProfile - EclipseCon 2019
Edwin Derks
 
Cordova 3, apps para android
Cordova 3, apps para androidCordova 3, apps para android
Cordova 3, apps para android
Droidcon Spain
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Qualcomm Developer Network
 
KACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting OverviewKACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting Overview
Dell World
 
Software Packaging/Scripting
Software Packaging/ScriptingSoftware Packaging/Scripting
Software Packaging/Scripting
Dell World
 
Integrating BlueMix into a DevOps pipeline
Integrating BlueMix into a DevOps pipelineIntegrating BlueMix into a DevOps pipeline
Integrating BlueMix into a DevOps pipeline
Richard Irving
 
Spring to Image
Spring to ImageSpring to Image
Spring to Image
VMware Tanzu
 
Getting Started with Patching (Patching 101)
Getting Started with Patching (Patching 101)Getting Started with Patching (Patching 101)
Getting Started with Patching (Patching 101)
Dell World
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
The Linux Foundation
 
Windows 8 Introduction
Windows 8 IntroductionWindows 8 Introduction
Windows 8 Introduction
Ajesh Issac
 
AI & Computer Vision (OpenVINO) - CPBR12
AI & Computer Vision (OpenVINO) - CPBR12AI & Computer Vision (OpenVINO) - CPBR12
AI & Computer Vision (OpenVINO) - CPBR12
Jomar Silva
 
BlackBerry WebWorks
BlackBerry WebWorksBlackBerry WebWorks
BlackBerry WebWorks
Bhasker Thapan
 
What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2Joseph Labrecque
 
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Yury Gorbachev
 
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting Walkthrough
Benjamin Zores
 
OpenVINO introduction
OpenVINO introductionOpenVINO introduction
OpenVINO introduction
Yury Gorbachev
 

What's hot (20)

XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
Citrix Desktop Master Class - Unidesk App Layering - Feb 2017
Citrix Desktop Master Class - Unidesk App Layering - Feb 2017Citrix Desktop Master Class - Unidesk App Layering - Feb 2017
Citrix Desktop Master Class - Unidesk App Layering - Feb 2017
 
How to Get the Best Deep Learning performance with OpenVINO Toolkit
How to Get the Best Deep Learning performance with OpenVINO ToolkitHow to Get the Best Deep Learning performance with OpenVINO Toolkit
How to Get the Best Deep Learning performance with OpenVINO Toolkit
 
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
 
Building Microservices with Jakarta EE and MicroProfile - EclipseCon 2019
Building Microservices with Jakarta EE and MicroProfile - EclipseCon 2019Building Microservices with Jakarta EE and MicroProfile - EclipseCon 2019
Building Microservices with Jakarta EE and MicroProfile - EclipseCon 2019
 
Cordova 3, apps para android
Cordova 3, apps para androidCordova 3, apps para android
Cordova 3, apps para android
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
 
KACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting OverviewKACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting Overview
 
Software Packaging/Scripting
Software Packaging/ScriptingSoftware Packaging/Scripting
Software Packaging/Scripting
 
Integrating BlueMix into a DevOps pipeline
Integrating BlueMix into a DevOps pipelineIntegrating BlueMix into a DevOps pipeline
Integrating BlueMix into a DevOps pipeline
 
Spring to Image
Spring to ImageSpring to Image
Spring to Image
 
Getting Started with Patching (Patching 101)
Getting Started with Patching (Patching 101)Getting Started with Patching (Patching 101)
Getting Started with Patching (Patching 101)
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
Windows 8 Introduction
Windows 8 IntroductionWindows 8 Introduction
Windows 8 Introduction
 
AI & Computer Vision (OpenVINO) - CPBR12
AI & Computer Vision (OpenVINO) - CPBR12AI & Computer Vision (OpenVINO) - CPBR12
AI & Computer Vision (OpenVINO) - CPBR12
 
BlackBerry WebWorks
BlackBerry WebWorksBlackBerry WebWorks
BlackBerry WebWorks
 
What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2
 
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
 
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting Walkthrough
 
OpenVINO introduction
OpenVINO introductionOpenVINO introduction
OpenVINO introduction
 

Similar to Android Lollipop

Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
Arnav Gupta
 
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsBenjamin Zores
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
Arnav Gupta
 
Developing for Android-Types of Android Application
Developing for Android-Types of Android ApplicationDeveloping for Android-Types of Android Application
Developing for Android-Types of Android Application
Nandini Prabhu
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
SenthilKumar Selvaraj
 
Google ART (Android RunTime)
Google ART (Android RunTime)Google ART (Android RunTime)
Google ART (Android RunTime)
Niraj Solanke
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
amaankhan
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
dfages
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
Android : How Do I Code Thee?
Android : How Do I Code Thee?Android : How Do I Code Thee?
Android : How Do I Code Thee?
Viswanath J
 
CNIT 128 Ch 4: Android
CNIT 128 Ch 4: AndroidCNIT 128 Ch 4: Android
CNIT 128 Ch 4: Android
Sam Bowne
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with java
ssuser471dfb
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
Pasi Manninen
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
NITIN GUPTA
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
Aravindharamanan S
 

Similar to Android Lollipop (20)

Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded Systems
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Android zensar
Android zensarAndroid zensar
Android zensar
 
Developing for Android-Types of Android Application
Developing for Android-Types of Android ApplicationDeveloping for Android-Types of Android Application
Developing for Android-Types of Android Application
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
Google android os
Google android osGoogle android os
Google android os
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Google ART (Android RunTime)
Google ART (Android RunTime)Google ART (Android RunTime)
Google ART (Android RunTime)
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Android : How Do I Code Thee?
Android : How Do I Code Thee?Android : How Do I Code Thee?
Android : How Do I Code Thee?
 
CNIT 128 Ch 4: Android
CNIT 128 Ch 4: AndroidCNIT 128 Ch 4: Android
CNIT 128 Ch 4: Android
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with java
 
Android OS
Android OSAndroid OS
Android OS
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 

More from Željko Plesac

What the hype
What the hypeWhat the hype
What the hype
Željko Plesac
 
Write once, ship multiple times
Write once, ship multiple timesWrite once, ship multiple times
Write once, ship multiple times
Željko Plesac
 
Write once, ship multiple times
Write once, ship multiple timesWrite once, ship multiple times
Write once, ship multiple times
Željko Plesac
 
Crash wars - The handling awakens v3.0
Crash wars - The handling awakens v3.0Crash wars - The handling awakens v3.0
Crash wars - The handling awakens v3.0
Željko Plesac
 
Crash wars - The handling awakens
Crash wars - The handling awakensCrash wars - The handling awakens
Crash wars - The handling awakens
Željko Plesac
 
Crash Wars - The handling awakens
Crash Wars  - The handling awakensCrash Wars  - The handling awakens
Crash Wars - The handling awakens
Željko Plesac
 
Android tips and tricks
Android tips and tricksAndroid tips and tricks
Android tips and tricks
Željko Plesac
 
Android studio
Android studioAndroid studio
Android studio
Željko Plesac
 

More from Željko Plesac (8)

What the hype
What the hypeWhat the hype
What the hype
 
Write once, ship multiple times
Write once, ship multiple timesWrite once, ship multiple times
Write once, ship multiple times
 
Write once, ship multiple times
Write once, ship multiple timesWrite once, ship multiple times
Write once, ship multiple times
 
Crash wars - The handling awakens v3.0
Crash wars - The handling awakens v3.0Crash wars - The handling awakens v3.0
Crash wars - The handling awakens v3.0
 
Crash wars - The handling awakens
Crash wars - The handling awakensCrash wars - The handling awakens
Crash wars - The handling awakens
 
Crash Wars - The handling awakens
Crash Wars  - The handling awakensCrash Wars  - The handling awakens
Crash Wars - The handling awakens
 
Android tips and tricks
Android tips and tricksAndroid tips and tricks
Android tips and tricks
 
Android studio
Android studioAndroid studio
Android studio
 

Recently uploaded

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 

Recently uploaded (20)

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 

Android Lollipop

  • 2. Željko Plesac Android developer at Infinum SI zeljko.plesac@infinum.co
  • 3. What are the main drawbacks of Android OS?
  • 4. • Static design • Battery drainage • Over heating • Lagging (it’s really slow after few months of usage) • Decentralized - it lacks central Android body to address the grievance of its users. • Fragmentation
  • 5. Solution for all of our problems?
  • 6.
  • 7. Say hello to Android 5.0/L/Lollipop!
  • 8.
  • 9. What’s new in Android 5.0. Lollipop?
  • 11. • brand new Android design theme/principles • main goals: 1. Material is the metaphor 2. Bold, graphic, intentional 3. Motion provides meaning
  • 13. Interfaces should be “bold, graphic, intentional”
  • 14. Logo
  • 17. One design to conquer them all
  • 19. New ways to control when and how you receive messages
  • 20. High-priority notifications are presented to users for a short period of time with an expanded layout exposing possible actions
  • 21. Priority mode for fewer disruptions
  • 22. View and respond to messages directly from your lock screen
  • 23. ART
  • 24. • Android apps are deployed in Dalvik bytecode, which is portable, unlike native code. In order to be able to run the app on a device, the code has to be compiled to machine code. • older versions of Android use Dalvik VM • based on JIT (just in time) compilation • each time you run an app, the part of the code required for its execution is going to be translated (compiled) to machine code at that moment • it has a smaller memory footprint and uses less physical space on the device.
  • 25. • Android 5.0 runs exclusively on the ART runtime, which offers ahead-of-time (AOT) compilation • The whole code of the app will be pre- compiled during install (once)
  • 26. Why is this good?
  • 27. • With no need for JIT compilation, the code should execute much faster • it doesn't hit the CPU as hard as just-in-time code compiling on Dalvik (also, results in less battery drain)
  • 29. • the generated machine code requires more space than the existing bytecode • the code is pre-compiled at install time, so the installation process takes a bit longer • larger memory footprint at execution time (fewer apps run concurrently)
  • 31. • increased speed in CPU floating operations by approx. 20% • increased speed in RAM operations by approx. 10% • increased speed in storage operations by approx. 10% • CPU integer operations - slight advantage goes to Dalvik • Install times on my Nexus 4, for one of our larger projects, jumped from ~17 s to ~25 s. (tested on Kitkat 4.4.4, should be even faster now)
  • 33. Android 5.0 emphasizes improvements in battery life: 1. Scheduling jobs 2. Developer tools for battery usage
  • 34. 1. Scheduling jobs • Android 5.0 provides a new JobScheduler API that lets you optimize battery life by defining jobs for the system to run asynchronously (at a later time or under specified condition) • The app has non-user-facing work that you can defer. • The app has work you'd prefer to do when the unit is plugged in. • The app has a task that requires network access or a Wi-Fi connection. • The app has a number of tasks that you want to run as a batch on a regular schedule.
  • 35. • You can schedule the task to run under specific conditions, such as: • Start when the device is charging • Start when the device is connected to an unmetered network • Start when the device is idle • Finish before a certain deadline or with a minimum delay
  • 36. 2. Developer tools for battery usage • The new dumpsys batterystats command generates interesting statistical data about battery usage on a device, organized by unique user ID (UID): • History of battery related events • Global statistics for the device • Approximate power use per UID and system component • Per-app mobile ms per packet • System UID aggregated statistics • App UID aggregated statistics
  • 38. • since the release of Android 4.4 KitKat, WebView has been based on Chromium (it has the same rendering and Javascript engine as Chrome for Android) • WebView is now unbundled from the system and will be regularly updated through Google Play. • every mobile device with Android 5 or later should have not only the same but the latest browsing engine in the WebView
  • 40. • Android 5.0 provides new multi-networking APIs that let your app dynamically scan for available networks with specific capabilities, and establish a connection to them • useful when your app requires a specialized network, such as an SUPL, MMS, or carrier-billing network, or if you want to send data using a particular type of transport protocol.
  • 42. • Android 5.0 introduces the new android.hardware.camera2 API to facilitate fine- grain photo capture and image processing • Use the new notification and media APIs to ensure that the system UI knows about your media playback and can extract and show album art. • Controlling media playback across a UI and a service is now a lot easier • ability for apps to browse the media content library of another app
  • 44. • encryption is automatically turned on to help protect data on lost or stolen devices • Android Smart Lock - secure your phone or tablet by pairing it with a trusted device like your wearable or even your car
  • 46. • ability to pair up different devices (tablet + Android wear + smartphone + Android TV) in one system • applications are optimised for every device • songs, photos, apps, and even recent searches from one of your Android devices can be immediately enjoyed across all of your Android devices
  • 48.
  • 49.
  • 50. • Dalvik VM has one major limitation which we didn’t discuss yet: APK HAS UPPER LIMIT OF 65,536 METHODS!
  • 51. • ART natively supports loading multiple .dex files from application APK files. • ART performs pre-compilation at application install time which scans for classes(..N).dex files and compiles them into a single .oat file for execution by the Android device • Android build tools construct a primary dex (classes.dex) and supporting (classes2.dex, classes3.dex) as needed. The build system will then package them into an APK file for distribution.
  • 53. • BLE Peripheral Mode - Android devices can now function in Bluetooth Low Energy (BLE) peripheral mod • Managed provisioning and unified view of apps • OpenGL ES 3.1 and Android Extension Pack • 64-bit support • Print preview and page range support • better integration with OK Google • Concurrent documents in Overview • Android Work
  • 55. • Android Studio 1.0 RC 1 has been released to Canary channel • Material design has already been integrated to Android Support Library • Google Play Services Granular Dependency Management - you’ll be able to depend only on the parts of Google Play services that you use by utilizing separate libraries for each API.
  • 56. Fun times are coming!
  • 59. Fin.