@littleeyelabsmobile app insights like never beforeUnderstanding the why and what ofAndroid app performance
@littleeyelabsif customers uninstall, they are lost forever!customers hate apps that drainpower, crash or perform badly“44...
@littleeyelabshappens to the best of apps!
@littleeyelabsphenomenon is not limited toconsumer apps!“if I had a penny for everytimesomeone complained about my appdrai...
@littleeyelabstop performanceparametersbattery drainnetwork consumptioncrashesresponsiveness
@littleeyelabsunderstanding battery consumption!
@littleeyelabswhat consumespower
@littleeyelabsnetworkcpudisplaygpsgpuoptimizationopportunities
@littleeyelabsEDGE slow, less power per byteof data transferWifi more power, but faster3G more power than Wifi, typicallyslo...
@littleeyelabswhat causespowerconsumption?four primary states -establishmaintain (idle)transmit (two or more substates)tai...
@littleeyelabsEstablish Maintain Transmit TailWifi High Low Low Low2G Low Low Low Low3G Low Low High Highwhat causespowerco...
@littleeyelabsunderstanding state transitions
@littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork...
@littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork...
@littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork...
@littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork...
@littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork...
@littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork...
@littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity...
@littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity...
@littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity...
@littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity...
@littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity...
@littleeyelabsCPUbasicsruns on various frequenciesfrequency controlled by governorpolicytransitions controlled at linux la...
@littleeyelabsCPUspy
@littleeyelabsmonitor CPU usage
@littleeyelabstips to optimizecpu usagewakelocksgreat power comes with great responsibilitybe conscious about how often/lo...
@littleeyelabstips to optimizecpu usagewakelocksgreat power comes with great responsibilitybe conscious about how often/lo...
@littleeyelabstips to optimizecpu usagegpu consumes more power thancpuavoid floating point math where possibleuse gpu for d...
@littleeyelabstips to optimizecpu usagegpu consumes more power thancpuavoid floating point math where possibleuse gpu for d...
@littleeyelabstips to optimizecpu usagegpu consumes more power thancpuavoid floating point math where possibleuse gpu for d...
@littleeyelabstips to optimizecpu usagegpu consumes more power thancpuavoid floating point math where possibleuse gpu for d...
@littleeyelabsscreen tips color matters!esp on OLED screensdarker the color, lesser the consumptionbrightness levels have ...
@littleeyelabsimpact of display
@littleeyelabscrashes!
@littleeyelabstop reasonsrunning out of memoryhitting unexpected conditions inthe appnetwork changesdemand exceeding expec...
@littleeyelabsrunning out ofmemoryleaksreferences continue to existGC cannot collect objects, even whennot usedquickly ide...
@littleeyelabsanalyzing memory consumption trends
@littleeyelabspre & post-productionanalysis and monitoringdetecting performance impactsbefore and after release is vitalpo...
@littleeyelabsdemo of little eye
@littleeyelabs“Things well done and with a care,exempt themselves from fear”William Shakespeare@littleeyelabshttps://angel...
Upcoming SlideShare
Loading in …5
×

App performance littleeyelabs

2,331 views
2,215 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,331
On SlideShare
0
From Embeds
0
Number of Embeds
1,152
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

App performance littleeyelabs

  1. 1. @littleeyelabsmobile app insights like never beforeUnderstanding the why and what ofAndroid app performance
  2. 2. @littleeyelabsif customers uninstall, they are lost forever!customers hate apps that drainpower, crash or perform badly“44% of users uninstall apps thatperform badly”“96% of users will give such apps a badrating”Source: http://apigee.com/about/pressrelease/apigee-survey-users-reveal-top-frustrations-lead-bad-mobile-app-reviews
  3. 3. @littleeyelabshappens to the best of apps!
  4. 4. @littleeyelabsphenomenon is not limited toconsumer apps!“if I had a penny for everytimesomeone complained about my appdraining battery, I would be amillionaire”- Slightly exaggerated quote of a frustratedQA manager in a large MDM companySource: http://apigee.com/about/pressrelease/apigee-survey-users-reveal-top-frustrations-lead-bad-mobile-app-reviews
  5. 5. @littleeyelabstop performanceparametersbattery drainnetwork consumptioncrashesresponsiveness
  6. 6. @littleeyelabsunderstanding battery consumption!
  7. 7. @littleeyelabswhat consumespower
  8. 8. @littleeyelabsnetworkcpudisplaygpsgpuoptimizationopportunities
  9. 9. @littleeyelabsEDGE slow, less power per byteof data transferWifi more power, but faster3G more power than Wifi, typicallyslower than Wifi.4G more power than 3G, potentiallyfaster than Wifi4G > 3G > Wifi > 2Gnetworkbasics
  10. 10. @littleeyelabswhat causespowerconsumption?four primary states -establishmaintain (idle)transmit (two or more substates)tail state (pseudo state)what causespowerconsumption?
  11. 11. @littleeyelabsEstablish Maintain Transmit TailWifi High Low Low Low2G Low Low Low Low3G Low Low High Highwhat causespowerconsumption?
  12. 12. @littleeyelabsunderstanding state transitions
  13. 13. @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
  14. 14. @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
  15. 15. @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
  16. 16. @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
  17. 17. @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
  18. 18. @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
  19. 19. @littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity stateprogrammatic control overreceiverstips to optimizenetwork power
  20. 20. @littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity stateprogrammatic control overreceiverstips to optimizenetwork power
  21. 21. @littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity stateprogrammatic control overreceiverstips to optimizenetwork power
  22. 22. @littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity stateprogrammatic control overreceiverstips to optimizenetwork power
  23. 23. @littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity stateprogrammatic control overreceiverstips to optimizenetwork power
  24. 24. @littleeyelabsCPUbasicsruns on various frequenciesfrequency controlled by governorpolicytransitions controlled at linux layerdrops down to ‘deep sleep’ asmuch as it canfrequencies are scaled based ofusage
  25. 25. @littleeyelabsCPUspy
  26. 26. @littleeyelabsmonitor CPU usage
  27. 27. @littleeyelabstips to optimizecpu usagewakelocksgreat power comes with great responsibilitybe conscious about how often/long they areuseduse ‘android:keepScreenOn’spread out your computationallyintensive job
  28. 28. @littleeyelabstips to optimizecpu usagewakelocksgreat power comes with great responsibilitybe conscious about how often/long they areuseduse ‘android:keepScreenOn’spread out your computationallyintensive job
  29. 29. @littleeyelabstips to optimizecpu usagegpu consumes more power thancpuavoid floating point math where possibleuse gpu for data-parallel tasks likevideo/image processinguse algorithms that consume lessCPU cycleO(n log n) vs O(n 2) algorithmsgoal - keep the freq to the lowestlevel and/or reduce the number ofcycles
  30. 30. @littleeyelabstips to optimizecpu usagegpu consumes more power thancpuavoid floating point math where possibleuse gpu for data-parallel tasks likevideo/image processinguse algorithms that consume lessCPU cycleO(n log n) vs O(n 2) algorithmsgoal - keep the freq to the lowestlevel and/or reduce the number ofcycles
  31. 31. @littleeyelabstips to optimizecpu usagegpu consumes more power thancpuavoid floating point math where possibleuse gpu for data-parallel tasks likevideo/image processinguse algorithms that consume lessCPU cycleO(n log n) vs O(n 2) algorithmsgoal - keep the freq to the lowestlevel and/or reduce the number ofcycles
  32. 32. @littleeyelabstips to optimizecpu usagegpu consumes more power thancpuavoid floating point math where possibleuse gpu for data-parallel tasks likevideo/image processinguse algorithms that consume lessCPU cycleO(n log n) vs O(n 2) algorithmsgoal - keep the freq to the lowestlevel and/or reduce the number ofcycles
  33. 33. @littleeyelabsscreen tips color matters!esp on OLED screensdarker the color, lesser the consumptionbrightness levels have more impactprogrammatically reduce brightnessif its suits your app/activity
  34. 34. @littleeyelabsimpact of display
  35. 35. @littleeyelabscrashes!
  36. 36. @littleeyelabstop reasonsrunning out of memoryhitting unexpected conditions inthe appnetwork changesdemand exceeding expectationresponsiveness
  37. 37. @littleeyelabsrunning out ofmemoryleaksreferences continue to existGC cannot collect objects, even whennot usedquickly identify which use casedoes not reduce memoryconsumptionuse heap dumps to drill down toactual objectcontinuous heap dumps and diff
  38. 38. @littleeyelabsanalyzing memory consumption trends
  39. 39. @littleeyelabspre & post-productionanalysis and monitoringdetecting performance impactsbefore and after release is vitalpost-production tracks issues as ithappens with customerscrashlyticscrittercismpre-production analysis helpsprevent issues before customersface itLittle EyeDDMS
  40. 40. @littleeyelabsdemo of little eye
  41. 41. @littleeyelabs“Things well done and with a care,exempt themselves from fear”William Shakespeare@littleeyelabshttps://angel.co/little-eye-labsalso on

×