SlideShare a Scribd company logo
Understanding Energy
Efficiency of Android
Apps
(and how to Improve it)

Aditya Kulkarni
Apps are to blame the most for bad
battery life
• Bad coding patterns
cause power bugs
• Specific behaviors of
the Android Platform
• App interdependencies!
• Special Attention must
be paid to optimize for
power!
Users Hate “Power Bugs”
Energy Consumption of An
Android Phone
Understanding Power Bugs
Screen
• color matters!
– esp on OLED screens
– darker the color, lesser
the consumption

• brightness levels have
more impact
– refer to -

http://stackoverflow.com/que
stions/5032588/cant-applysystem-screen-brightnessprogrammatically-in-android
Screen
• programmatically
reduce brightness if
its suits your
app/activity
• Use “night mode”
for reading Apps
• Think about your
color scheme
CPU
• wakelocks are your friend,
but your users worst
nightmare!
• use them only if really
needed and ensure they
are removed as soon as
possible
• Use
‘android:keepScreenOn’
property in your manifest
instead of doing it
programmatically
CPU
• if possible, spread out your
computationally intensive
job
• gpu typically consumes
more power than cpu
– avoid floating point math
where possible

• use algorithms that
consume less CPU cycle
– O(n log n) vs O(n 2)
algorithms
Wireless Radios
• 3G/4G LTE have tail
states and warm-up
times
• Power States are
controlled by the
Carrier
• Batching, state checks
are your friend!
GPS and Location Services
• GPS is fairly heavy
• Getting a location fix is far
more expensive than
maintaining a fix

• Registering for
notifications can have
cascading effects
• Use Play Services
Location APIs
Best Practices

(or how to avoid the dreaded battery drain)
Common Power Bugs

1. Not Sleeping Properly
Common Power Bugs

2. Un-necessary Animations
Common Power Bugs

3. Updating the Screen
Common Power Bugs

4. Handling Display-Off
Common Power Bugs

5. Waking up to
notifications
Use A Power Profiler Like Little Eye
Thank You
www.littleeye.co
aditya@littleeye.co

More Related Content

Viewers also liked

Eclipse Memory Analyzer Tool
Eclipse Memory Analyzer ToolEclipse Memory Analyzer Tool
Eclipse Memory Analyzer Tool
littleeye
 
Unified Device Management
Unified Device ManagementUnified Device Management
Unified Device Management
IBM Danmark
 
Energy consumption in smart phones
Energy consumption in smart phonesEnergy consumption in smart phones
Energy consumption in smart phones
Noor Huda
 
Energy consumption in smart phones huda
Energy consumption in smart phones hudaEnergy consumption in smart phones huda
Energy consumption in smart phones huda
Noor Huda
 
How to Minimize Your App’s Power Consumption
How to Minimize Your App’s Power Consumption How to Minimize Your App’s Power Consumption
How to Minimize Your App’s Power Consumption
Qualcomm Developer Network
 
Learn about energy consumption and battery life on Android devices
Learn about energy consumption and battery life on Android devicesLearn about energy consumption and battery life on Android devices
Learn about energy consumption and battery life on Android devices
Marakana Inc.
 
State of Mobile Commerce 2014 (Sucharita Mulpuru)
State of Mobile Commerce 2014 (Sucharita Mulpuru)State of Mobile Commerce 2014 (Sucharita Mulpuru)
State of Mobile Commerce 2014 (Sucharita Mulpuru)
Monetate
 
Google ART (Android RunTime)
Google ART (Android RunTime)Google ART (Android RunTime)
Google ART (Android RunTime)
Niraj Solanke
 
The Greenhouse Effect
The Greenhouse EffectThe Greenhouse Effect
The Greenhouse Effect
Farah Dinah Hassan
 
Ppt on World Of Smartphones
Ppt on World Of SmartphonesPpt on World Of Smartphones
Ppt on World Of Smartphones
Pulkit Syal
 
greenhouse effect
 greenhouse effect greenhouse effect
greenhouse effect
Mandira Panta
 
50 Stunning Mobile Statistics
50 Stunning Mobile Statistics50 Stunning Mobile Statistics
50 Stunning Mobile Statistics
Vala Afshar
 
Greenhouse Effect Power Point
Greenhouse Effect Power PointGreenhouse Effect Power Point
Greenhouse Effect Power Point
hilli1sm
 

Viewers also liked (13)

Eclipse Memory Analyzer Tool
Eclipse Memory Analyzer ToolEclipse Memory Analyzer Tool
Eclipse Memory Analyzer Tool
 
Unified Device Management
Unified Device ManagementUnified Device Management
Unified Device Management
 
Energy consumption in smart phones
Energy consumption in smart phonesEnergy consumption in smart phones
Energy consumption in smart phones
 
Energy consumption in smart phones huda
Energy consumption in smart phones hudaEnergy consumption in smart phones huda
Energy consumption in smart phones huda
 
How to Minimize Your App’s Power Consumption
How to Minimize Your App’s Power Consumption How to Minimize Your App’s Power Consumption
How to Minimize Your App’s Power Consumption
 
Learn about energy consumption and battery life on Android devices
Learn about energy consumption and battery life on Android devicesLearn about energy consumption and battery life on Android devices
Learn about energy consumption and battery life on Android devices
 
State of Mobile Commerce 2014 (Sucharita Mulpuru)
State of Mobile Commerce 2014 (Sucharita Mulpuru)State of Mobile Commerce 2014 (Sucharita Mulpuru)
State of Mobile Commerce 2014 (Sucharita Mulpuru)
 
Google ART (Android RunTime)
Google ART (Android RunTime)Google ART (Android RunTime)
Google ART (Android RunTime)
 
The Greenhouse Effect
The Greenhouse EffectThe Greenhouse Effect
The Greenhouse Effect
 
Ppt on World Of Smartphones
Ppt on World Of SmartphonesPpt on World Of Smartphones
Ppt on World Of Smartphones
 
greenhouse effect
 greenhouse effect greenhouse effect
greenhouse effect
 
50 Stunning Mobile Statistics
50 Stunning Mobile Statistics50 Stunning Mobile Statistics
50 Stunning Mobile Statistics
 
Greenhouse Effect Power Point
Greenhouse Effect Power PointGreenhouse Effect Power Point
Greenhouse Effect Power Point
 

Similar to Energy efficiency of android

Power bugs
Power bugsPower bugs
Power bugs
aditya_kulkarni
 
GREEN PAUWARE - For a power-thrifty mobile app marketplace
GREEN PAUWARE - For a power-thrifty mobile app marketplaceGREEN PAUWARE - For a power-thrifty mobile app marketplace
GREEN PAUWARE - For a power-thrifty mobile app marketplace
Olivier Le Goaër
 
Android Performance Best Practices
Android Performance Best Practices Android Performance Best Practices
Android Performance Best Practices
Amgad Muhammad
 
Planning your Dream Mobile App
Planning your Dream Mobile AppPlanning your Dream Mobile App
Planning your Dream Mobile App
Sean Katz
 
Performance optimization for Android
Performance optimization for AndroidPerformance optimization for Android
Performance optimization for Android
Arslan Anwar
 
How to deal with Fragmentation on Android
How to deal with Fragmentation on AndroidHow to deal with Fragmentation on Android
How to deal with Fragmentation on Android
Sittiphol Phanvilai
 
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
IndicThreads
 
Profiling tools and Android Performance patterns
Profiling tools and Android Performance patternsProfiling tools and Android Performance patterns
Profiling tools and Android Performance patterns
icemobile
 
Final project
Final projectFinal project
Final project
Deeban Babu
 
Greendroid Part2
Greendroid Part2Greendroid Part2
Greendroid Part2
k.surya kumar
 
Coding Best Practices For Memory Management
Coding Best Practices For Memory Management Coding Best Practices For Memory Management
Coding Best Practices For Memory Management
Bhawna Tuteja
 
When Microwatts Are Precious: Battery Tips for Wearable Apps
When Microwatts Are Precious: Battery Tips for Wearable AppsWhen Microwatts Are Precious: Battery Tips for Wearable Apps
When Microwatts Are Precious: Battery Tips for Wearable Apps
CommonsWare
 
Dark mode in mobile banking
Dark mode in mobile bankingDark mode in mobile banking
Dark mode in mobile banking
Non Mora
 
Presentation dark mode 02072020
Presentation   dark mode 02072020Presentation   dark mode 02072020
Presentation dark mode 02072020
Non Mora
 
Android Auto
Android AutoAndroid Auto
Android Auto
Godfrey Nolan
 
The Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with androidThe Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with android
Stanojko Markovik
 
Characterizing and detecting performance bugs for smartphone applications
Characterizing and detecting performance bugs for smartphone applicationsCharacterizing and detecting performance bugs for smartphone applications
Characterizing and detecting performance bugs for smartphone applications
School of Engineering, HKUST
 
Android course in chandigarh.pptx-presentation
Android course in chandigarh.pptx-presentationAndroid course in chandigarh.pptx-presentation
Android course in chandigarh.pptx-presentation
asmeerana605
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
NITHIN S.S
 
Beating Android Fragmentation, Brett Duncavage
Beating Android Fragmentation, Brett DuncavageBeating Android Fragmentation, Brett Duncavage
Beating Android Fragmentation, Brett Duncavage
Xamarin
 

Similar to Energy efficiency of android (20)

Power bugs
Power bugsPower bugs
Power bugs
 
GREEN PAUWARE - For a power-thrifty mobile app marketplace
GREEN PAUWARE - For a power-thrifty mobile app marketplaceGREEN PAUWARE - For a power-thrifty mobile app marketplace
GREEN PAUWARE - For a power-thrifty mobile app marketplace
 
Android Performance Best Practices
Android Performance Best Practices Android Performance Best Practices
Android Performance Best Practices
 
Planning your Dream Mobile App
Planning your Dream Mobile AppPlanning your Dream Mobile App
Planning your Dream Mobile App
 
Performance optimization for Android
Performance optimization for AndroidPerformance optimization for Android
Performance optimization for Android
 
How to deal with Fragmentation on Android
How to deal with Fragmentation on AndroidHow to deal with Fragmentation on Android
How to deal with Fragmentation on Android
 
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
 
Profiling tools and Android Performance patterns
Profiling tools and Android Performance patternsProfiling tools and Android Performance patterns
Profiling tools and Android Performance patterns
 
Final project
Final projectFinal project
Final project
 
Greendroid Part2
Greendroid Part2Greendroid Part2
Greendroid Part2
 
Coding Best Practices For Memory Management
Coding Best Practices For Memory Management Coding Best Practices For Memory Management
Coding Best Practices For Memory Management
 
When Microwatts Are Precious: Battery Tips for Wearable Apps
When Microwatts Are Precious: Battery Tips for Wearable AppsWhen Microwatts Are Precious: Battery Tips for Wearable Apps
When Microwatts Are Precious: Battery Tips for Wearable Apps
 
Dark mode in mobile banking
Dark mode in mobile bankingDark mode in mobile banking
Dark mode in mobile banking
 
Presentation dark mode 02072020
Presentation   dark mode 02072020Presentation   dark mode 02072020
Presentation dark mode 02072020
 
Android Auto
Android AutoAndroid Auto
Android Auto
 
The Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with androidThe Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with android
 
Characterizing and detecting performance bugs for smartphone applications
Characterizing and detecting performance bugs for smartphone applicationsCharacterizing and detecting performance bugs for smartphone applications
Characterizing and detecting performance bugs for smartphone applications
 
Android course in chandigarh.pptx-presentation
Android course in chandigarh.pptx-presentationAndroid course in chandigarh.pptx-presentation
Android course in chandigarh.pptx-presentation
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
 
Beating Android Fragmentation, Brett Duncavage
Beating Android Fragmentation, Brett DuncavageBeating Android Fragmentation, Brett Duncavage
Beating Android Fragmentation, Brett Duncavage
 

Recently uploaded

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 

Recently uploaded (20)

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 

Energy efficiency of android