SlideShare a Scribd company logo
Bay Area
Android Meetup
How to Achieve
Mobile App
Performance and
Monitoring to
Ensure Great
User
Experiences
6:30pm: Food & Drinks
7:00pm: Performance
Monitoring – Alex Gaber
7:40pm: Test Automation and
CI – Melvin Laguren
Bay Area Android Meetup
How to Achieve Mobile App
Performance and Monitoring to
Ensure Great User Experiences
Crittercism 3-25-2014
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
How Users React to Poor App Performance
Source: Crittercism end-user survey Q4’2013
26%
9%
10%
21%
26%
65%
0% 10% 20% 30% 40% 50% 60% 70%
Did not do anything
Shared the experience via social media
Left a negative review on the app store
Contacted support or told the vendor
Told a friend in person
Uninstalled the app
What Do Users Do When the App is Slow?
Personal Experience – Uninstalled Android Apps
Lots of apps in the
Google Play
Store……..
..….. and lots of
uninstalls, 1 stars,
bugs?
HELP !!!
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
Snappy UI Equals Great UX
Linear Layout
• Similar to nested tables in HTML
• Great for quick and simple UI designs
• Performance degrades as complexity increases
Linear Layout
Snappy UI Equals Great UX
Relative Layout
• Eliminates Nested view groups
• Keeps layout hierarchy flat
• Much better performance for complex layouts
Relative Layout Example – activity_main.xml
Relative Layout
“button2” is
below
“button1”
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
ANR – Application Not Responding
What causes an
“Application Not
Responding”
(ANR) error?
• No response to an input event (such as key
press or screen touch events) within 5
seconds (5,000 ms)
• A BroadcastReceiver hasn't finished
executing within 10 seconds (10,000 ms)
Main Threads vs Worker Threads
Main Thread (UI Thread)
• Main Thread is also called the “UI Thread”
• All Android activities operate in the Main
Thread by default
• You can easily overload the Main Thread
– Doing network operations on Main Thread
– Slow disk operations (un-optimized SQL)
Main Thread (UI Thread)
TIPS
• Worker Threads are “background threads”
• Handle all network calls w/ Worker Threads
• Decouple the UI Thread from potential blockers
Sample Worker Thread
Main Thread (UI Thread)
Set Thread Priority: Example
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
Android OS Install Base Fragmentation
Over 20% of Android
devices are still running
an OS version below 4.0
Data collected during a 7-day period
ending on March 3, 2014
(developer.android.com)
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
Average Mobile App Consumes Five 3rd Party APIs
• The average mobile app is using between
5-6 APIs / web services
• API Monitoring from web server to web
server does not tell the full story
Average Mobile App Consumes Five 3rd Party APIs
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
3rd Party SDK Overhead and Performance Latency
• Mobile Ads SDKs
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
3rd Party SDK Overhead and Performance Latency
• Security SDKs
3rd Party SDK Overhead and Performance Latency
What is that SDK adding to your app?
• What is the performance overhead for this service?
• What if they start to lag or get slow?
• How can I monitor that this SDK isn’t making my app have
performance issues?
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
MBaaS Powering your Android App
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
Testing Does Not Ensure Performance: Trust But Verify
• Agile Mobile App Development methodology
– Leaves little time for testing
Testing Does Not Ensure Performance: Trust But Verify
• Agile Mobile App Development methodology
– Leaves little time for testing
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
Implementing Performance Monitoring for Android
Failure of shopping cart check-outs, referrals,
etc.
Transaction Errors
HTTP Errors like 404’s, Errors accessing
Cloud Services
API & Network Errors
Slow performance, High latenciesUnresponsive Apps
Downtime due to app crashes
Apps Crashes &
Exceptions
Performance issues due to geographyLocation
What cannot be tested prior to launch?
Implementing Performance Monitoring for Android
DEMO
Testing Does Not Ensure Performance: Trust But Verify
Thank You!
www.crittercism.com
@crittercism

More Related Content

PDF
10 things you didnt know about appium + whats new in appium 1.5
PDF
Android Instant Apps testing
PDF
Testing Mobile App Performance
PDF
Using Selenium To Test Mobile? Meet Appium!
PPTX
Everything You Need To Know about Appium and Selenium
PPTX
Selenium Camp 2016
PPTX
Appium vs. Appium with Perfecto
PPTX
Can We Deliver Mobile Apps Continuously?
10 things you didnt know about appium + whats new in appium 1.5
Android Instant Apps testing
Testing Mobile App Performance
Using Selenium To Test Mobile? Meet Appium!
Everything You Need To Know about Appium and Selenium
Selenium Camp 2016
Appium vs. Appium with Perfecto
Can We Deliver Mobile Apps Continuously?

What's hot (15)

PPTX
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
PPTX
Web API Fragility: How Robust Is Your Mobile Application?
PPTX
BDD Selenium for Agile Teams - User Stories
PPTX
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
PPTX
Get More out of Appium
PPTX
How Digital Changed the Game... and how to cross platform test for it
PDF
Consigue una App 5 estrellas
PPTX
Continuous delivery mobile application development
PDF
Building Agility for Automated Mobile Apps Testing
PDF
End User Monitoring with AppDynamics - AppSphere16
PPTX
Live Panel: Appium Core Committers Answer Your Questions
PDF
Webinar learn how to test any mobile app style from within eclipse using real...
PDF
One Test To Rule Them All - Conquer Android and iOS With One Script
PPTX
App & API Monitoring: Building a 5-Star Reputation for your Apps
PDF
Why API Ops is the Next Wave of DevOps
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
Web API Fragility: How Robust Is Your Mobile Application?
BDD Selenium for Agile Teams - User Stories
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Get More out of Appium
How Digital Changed the Game... and how to cross platform test for it
Consigue una App 5 estrellas
Continuous delivery mobile application development
Building Agility for Automated Mobile Apps Testing
End User Monitoring with AppDynamics - AppSphere16
Live Panel: Appium Core Committers Answer Your Questions
Webinar learn how to test any mobile app style from within eclipse using real...
One Test To Rule Them All - Conquer Android and iOS With One Script
App & API Monitoring: Building a 5-Star Reputation for your Apps
Why API Ops is the Next Wave of DevOps
Ad

Viewers also liked (14)

ODP
Open Food Facts - Computer Cooking Contest 2012
DOCX
GANGLOFF resume 060215
PDF
digital gastronomy: culinary + mobile culture
PPTX
Android Mobile Application Testing: Specific Functional, Performance, Device ...
PPTX
Performance Testing on Android
PPTX
Module 4 presentation
PDF
Android performance
PDF
Testing Android Security
PDF
Unit testing in android
PPTX
50 Connected Devices - How Mobile and the Internet of Things Will Affect You
PPTX
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
PDF
Presentation for Cooking App
PDF
Testing on Android
PDF
Luxury Goods Market in 2016
Open Food Facts - Computer Cooking Contest 2012
GANGLOFF resume 060215
digital gastronomy: culinary + mobile culture
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Performance Testing on Android
Module 4 presentation
Android performance
Testing Android Security
Unit testing in android
50 Connected Devices - How Mobile and the Internet of Things Will Affect You
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
Presentation for Cooking App
Testing on Android
Luxury Goods Market in 2016
Ad

Similar to Android Performance and Monitoring - Meetup 3 25-14 (20)

PDF
Improve App Performance: Key Tips Explained
PDF
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
PPT
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
PPTX
Mobile apps that win
PPTX
The Art of Mobile Performance (Mobiconf 2015)
PPTX
DC4 - Zigzagging around in mobile app development
PDF
High Performance Android Apps Improve Ratings with Speed Optimizations and Te...
PDF
Characterizing and detecting performance bugs for smartphone applications
PDF
How to Improve App Performance in 2025.pdf
PDF
Android Device Testing_ Ensuring Quality and Performance.pdf
PDF
Droidcon2014 - Android UX
PDF
Architect a Winning Mobile Application
PDF
Android Application Development Online Training.pdf
PPTX
Making your ui look good on android
PDF
Vulnerabilities and Bugs in Mobile Apps with Quick Tours
PDF
The Complete Guide to Android App Development with Shine Infosoft.pdf
PPTX
Android Application Development india
PPTX
Performance testing – mobile apps session1
PPTX
Performance testing – mobile apps session1
PDF
10 important points of android app development to keep in mind
Improve App Performance: Key Tips Explained
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
Mobile apps that win
The Art of Mobile Performance (Mobiconf 2015)
DC4 - Zigzagging around in mobile app development
High Performance Android Apps Improve Ratings with Speed Optimizations and Te...
Characterizing and detecting performance bugs for smartphone applications
How to Improve App Performance in 2025.pdf
Android Device Testing_ Ensuring Quality and Performance.pdf
Droidcon2014 - Android UX
Architect a Winning Mobile Application
Android Application Development Online Training.pdf
Making your ui look good on android
Vulnerabilities and Bugs in Mobile Apps with Quick Tours
The Complete Guide to Android App Development with Shine Infosoft.pdf
Android Application Development india
Performance testing – mobile apps session1
Performance testing – mobile apps session1
10 important points of android app development to keep in mind

Recently uploaded (20)

PPTX
Belch_12e_PPT_Ch18_Accessible_university.pptx
PDF
Unit 1 Cost Accounting - Cost sheet
DOCX
Business Management - unit 1 and 2
PDF
WRN_Investor_Presentation_August 2025.pdf
PDF
Business model innovation report 2022.pdf
PDF
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
PDF
Laughter Yoga Basic Learning Workshop Manual
PDF
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
PPTX
Lecture (1)-Introduction.pptx business communication
PDF
Roadmap Map-digital Banking feature MB,IB,AB
PPT
340036916-American-Literature-Literary-Period-Overview.ppt
PPTX
Amazon (Business Studies) management studies
PDF
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PPTX
job Avenue by vinith.pptxvnbvnvnvbnvbnbmnbmbh
PPT
Chapter four Project-Preparation material
PDF
MSPs in 10 Words - Created by US MSP Network
PDF
Reconciliation AND MEMORANDUM RECONCILATION
PDF
Power and position in leadershipDOC-20250808-WA0011..pdf
PDF
Stem Cell Market Report | Trends, Growth & Forecast 2025-2034
Belch_12e_PPT_Ch18_Accessible_university.pptx
Unit 1 Cost Accounting - Cost sheet
Business Management - unit 1 and 2
WRN_Investor_Presentation_August 2025.pdf
Business model innovation report 2022.pdf
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
Laughter Yoga Basic Learning Workshop Manual
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
Lecture (1)-Introduction.pptx business communication
Roadmap Map-digital Banking feature MB,IB,AB
340036916-American-Literature-Literary-Period-Overview.ppt
Amazon (Business Studies) management studies
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
job Avenue by vinith.pptxvnbvnvnvbnvbnbmnbmbh
Chapter four Project-Preparation material
MSPs in 10 Words - Created by US MSP Network
Reconciliation AND MEMORANDUM RECONCILATION
Power and position in leadershipDOC-20250808-WA0011..pdf
Stem Cell Market Report | Trends, Growth & Forecast 2025-2034

Android Performance and Monitoring - Meetup 3 25-14

  • 1. Bay Area Android Meetup How to Achieve Mobile App Performance and Monitoring to Ensure Great User Experiences 6:30pm: Food & Drinks 7:00pm: Performance Monitoring – Alex Gaber 7:40pm: Test Automation and CI – Melvin Laguren
  • 2. Bay Area Android Meetup How to Achieve Mobile App Performance and Monitoring to Ensure Great User Experiences Crittercism 3-25-2014
  • 3. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 4. How Users React to Poor App Performance Source: Crittercism end-user survey Q4’2013 26% 9% 10% 21% 26% 65% 0% 10% 20% 30% 40% 50% 60% 70% Did not do anything Shared the experience via social media Left a negative review on the app store Contacted support or told the vendor Told a friend in person Uninstalled the app What Do Users Do When the App is Slow?
  • 5. Personal Experience – Uninstalled Android Apps Lots of apps in the Google Play Store…….. ..….. and lots of uninstalls, 1 stars, bugs? HELP !!!
  • 6. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 7. Snappy UI Equals Great UX Linear Layout • Similar to nested tables in HTML • Great for quick and simple UI designs • Performance degrades as complexity increases Linear Layout
  • 8. Snappy UI Equals Great UX Relative Layout • Eliminates Nested view groups • Keeps layout hierarchy flat • Much better performance for complex layouts
  • 9. Relative Layout Example – activity_main.xml Relative Layout “button2” is below “button1”
  • 10. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 11. ANR – Application Not Responding What causes an “Application Not Responding” (ANR) error? • No response to an input event (such as key press or screen touch events) within 5 seconds (5,000 ms) • A BroadcastReceiver hasn't finished executing within 10 seconds (10,000 ms) Main Threads vs Worker Threads
  • 12. Main Thread (UI Thread) • Main Thread is also called the “UI Thread” • All Android activities operate in the Main Thread by default • You can easily overload the Main Thread – Doing network operations on Main Thread – Slow disk operations (un-optimized SQL)
  • 13. Main Thread (UI Thread) TIPS • Worker Threads are “background threads” • Handle all network calls w/ Worker Threads • Decouple the UI Thread from potential blockers Sample Worker Thread
  • 14. Main Thread (UI Thread) Set Thread Priority: Example
  • 15. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 16. Android OS Install Base Fragmentation Over 20% of Android devices are still running an OS version below 4.0 Data collected during a 7-day period ending on March 3, 2014 (developer.android.com)
  • 17. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 18. Average Mobile App Consumes Five 3rd Party APIs • The average mobile app is using between 5-6 APIs / web services • API Monitoring from web server to web server does not tell the full story
  • 19. Average Mobile App Consumes Five 3rd Party APIs
  • 20. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 21. 3rd Party SDK Overhead and Performance Latency • Mobile Ads SDKs
  • 22. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 23. 3rd Party SDK Overhead and Performance Latency • Security SDKs
  • 24. 3rd Party SDK Overhead and Performance Latency What is that SDK adding to your app? • What is the performance overhead for this service? • What if they start to lag or get slow? • How can I monitor that this SDK isn’t making my app have performance issues?
  • 25. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 26. MBaaS Powering your Android App
  • 27. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 28. Testing Does Not Ensure Performance: Trust But Verify • Agile Mobile App Development methodology – Leaves little time for testing
  • 29. Testing Does Not Ensure Performance: Trust But Verify • Agile Mobile App Development methodology – Leaves little time for testing
  • 30. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 31. Implementing Performance Monitoring for Android Failure of shopping cart check-outs, referrals, etc. Transaction Errors HTTP Errors like 404’s, Errors accessing Cloud Services API & Network Errors Slow performance, High latenciesUnresponsive Apps Downtime due to app crashes Apps Crashes & Exceptions Performance issues due to geographyLocation What cannot be tested prior to launch?
  • 33. Testing Does Not Ensure Performance: Trust But Verify Thank You! www.crittercism.com @crittercism