App performance littleeyelabs
Upcoming SlideShare
Loading in...5
×
 

App performance littleeyelabs

on

  • 1,163 views

 

Statistics

Views

Total Views
1,163
Views on SlideShare
450
Embed Views
713

Actions

Likes
0
Downloads
33
Comments
0

4 Embeds 713

http://www.littleeye.co 707
http://palantir.littleeyelabs.com 3
http://plus.url.google.com 2
http://10.20.10.71 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    App performance littleeyelabs App performance littleeyelabs Presentation Transcript

    • @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% 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
    • @littleeyelabshappens to the best of apps!
    • @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
    • @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, typicallyslower than Wifi.4G more power than 3G, potentiallyfaster than Wifi4G > 3G > Wifi > 2Gnetworkbasics
    • @littleeyelabswhat causespowerconsumption?four primary states -establishmaintain (idle)transmit (two or more substates)tail state (pseudo state)what causespowerconsumption?
    • @littleeyelabsEstablish Maintain Transmit TailWifi High Low Low Low2G Low Low Low Low3G Low Low High Highwhat causespowerconsumption?
    • @littleeyelabsunderstanding state transitions
    • @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
    • @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
    • @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
    • @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
    • @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
    • @littleeyelabsprefetch databatch datadetect network stateavoid pollinguse inexact timersuse cachingtips to optimizenetwork power
    • @littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity stateprogrammatic control overreceiverstips to optimizenetwork power
    • @littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity stateprogrammatic control overreceiverstips to optimizenetwork power
    • @littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity stateprogrammatic control overreceiverstips to optimizenetwork power
    • @littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity stateprogrammatic control overreceiverstips to optimizenetwork power
    • @littleeyelabsvarying download patternmonitor charge level and statemonitor and determinedocking statemonitor connectivity stateprogrammatic control overreceiverstips to optimizenetwork power
    • @littleeyelabsCPUbasicsruns on various frequenciesfrequency controlled by governorpolicytransitions controlled at linux layerdrops down to ‘deep sleep’ asmuch as it canfrequencies are scaled based ofusage
    • @littleeyelabsCPUspy
    • @littleeyelabsmonitor CPU usage
    • @littleeyelabstips to optimizecpu usagewakelocksgreat power comes with great responsibilitybe conscious about how often/long they areuseduse ‘android:keepScreenOn’spread out your computationallyintensive job
    • @littleeyelabstips to optimizecpu usagewakelocksgreat power comes with great responsibilitybe conscious about how often/long they areuseduse ‘android:keepScreenOn’spread out your computationallyintensive job
    • @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
    • @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
    • @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
    • @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
    • @littleeyelabsscreen tips color matters!esp on OLED screensdarker the color, lesser the consumptionbrightness levels have more impactprogrammatically reduce brightnessif its suits your app/activity
    • @littleeyelabsimpact of display
    • @littleeyelabscrashes!
    • @littleeyelabstop reasonsrunning out of memoryhitting unexpected conditions inthe appnetwork changesdemand exceeding expectationresponsiveness
    • @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
    • @littleeyelabsanalyzing memory consumption trends
    • @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
    • @littleeyelabsdemo of little eye
    • @littleeyelabs“Things well done and with a care,exempt themselves from fear”William Shakespeare@littleeyelabshttps://angel.co/little-eye-labsalso on