SlideShare a Scribd company logo
1 of 59
Download to read offline
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 2017Lee 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 ToolkitYury 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 2019Edwin Derks
 
Cordova 3, apps para android
Cordova 3, apps para androidCordova 3, apps para android
Cordova 3, apps para androidDroidcon 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 1Qualcomm Developer Network
 
KACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting OverviewKACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting OverviewDell World
 
Software Packaging/Scripting
Software Packaging/ScriptingSoftware Packaging/Scripting
Software Packaging/ScriptingDell World
 
Integrating BlueMix into a DevOps pipeline
Integrating BlueMix into a DevOps pipelineIntegrating BlueMix into a DevOps pipeline
Integrating BlueMix into a DevOps pipelineRichard Irving
 
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 IntroductionAjesh Issac
 
AI & Computer Vision (OpenVINO) - CPBR12
AI & Computer Vision (OpenVINO) - CPBR12AI & Computer Vision (OpenVINO) - CPBR12
AI & Computer Vision (OpenVINO) - CPBR12Jomar Silva
 
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 WalkthroughBenjamin Zores
 

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_osArnav 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_osArnav 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 ApplicationNandini Prabhu
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
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 Javaamaankhan
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvmdfages
 
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 2015WaveMaker, 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: AndroidSam Bowne
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with javassuser471dfb
 
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
 

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

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
 

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

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 

Recently uploaded (20)

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 

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.