SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Mobile	
  Performance	
  Tes1ng	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  @RupeshDubey	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  @PriyankDhillon	
  
What	
  to	
  expect?	
  
•  Why	
  mobile	
  performance	
  is	
  important?	
  
•  Different	
  types	
  of	
  mobile	
  apps.	
  
•  Performance	
  Challenges	
  
•  Tools	
  and	
  Technique	
  
•  Web	
  apps	
  Profiling	
  (Latency,page	
  audits)	
  	
  
•  Na1ve	
  apps	
  Profiling	
  (Memory	
  leaks)	
  
•  Recommenda1ons	
  
Why	
  mobile	
  perf	
  is	
  important?	
  
Source:Blaze	
  	
  
Mobile	
  Users	
  Expect	
  equal	
  speeds	
  
Source:Blaze	
  
Users	
  abandon	
  slow	
  apps	
  
Mobile	
  Apps	
  
•  Mobile	
  Browser	
  apps	
  
–  mDOT-­‐	
  dedicated	
  mobile	
  sites	
  
–  Responsive	
  web	
  design	
  	
  
•  Na1ve	
  Apps	
  	
  
•  Hybrid	
  Apps	
  
mDOT	
  Sites	
  
Source:Velocity	
  
Responsive	
  Web	
  Apps	
  
Source:BostonGlobe	
  
Mobile	
  Apps	
  
•  Mobile	
  Browser	
  apps	
  
–  Dedicated	
  mobile	
  sites	
  -­‐	
  mDOT	
  
–  Responsive	
  web	
  design	
  	
  
•  Na1ve	
  Apps	
  	
  
•  Hybrid	
  Apps	
  
Performance	
  Challenges 	
  	
  
•  Mobile	
  Browser	
  apps	
  
–  mDOT-­‐	
  dedicated	
  mobile	
  sites	
  
–  Responsive	
  web	
  design	
  	
  
•  Na1ve	
  Apps	
  	
  
•  Hybrid	
  Apps	
  
Front-­‐End	
  Vs	
  Back-­‐End	
  performance	
  
Perf	
  Challenges	
  while	
  browsing	
  on	
  
mobile	
  
•  Radio	
  Resource	
  Control	
  
•  HTTP	
  pipelining	
  
•  Browser	
  Cache	
  
•  JS	
  execu1on	
  1me	
  
	
  
Radio	
  Resource	
  Controlling	
  and	
  RTT	
  
JS	
  Execu1on	
  Time	
  
Browser	
  Cache	
  
Desktop	
  browser	
  Cache:	
  512	
  MB	
  
Browser	
  Cache	
  
•  sqlite3	
  webviewCache.db	
  'select	
  expires	
  from	
  
cache	
  order	
  by	
  expires	
  desc;'	
  
HTTP	
  pipelining	
  
How	
  to	
  Monitor	
  	
  
•  MobiTest	
  /	
  Web	
  page	
  test	
  
•  ADB	
  (	
  Android	
  debug	
  bridge)	
  
•  Remote	
  debugging	
  for	
  mobile	
  safari	
  
•  Yslow	
  
•  SpriteMe	
  
•  Icy	
  (iOS	
  specific)	
  
Demo	
  
Responsive	
  Web	
  Design	
  
Takeaways	
  for	
  Mobile	
  apps	
  
•  Minify	
  your	
  java	
  script	
  and	
  CSS	
  
•  All	
  images	
  have	
  dimensions	
  specified	
  
•  Have	
  an	
  efficient	
  caching	
  strategy	
  
•  Load	
  JavaScript	
  at	
  the	
  end	
  of	
  the	
  page	
  
•  Lazy	
  loading	
  	
  
•  Different	
  sizes	
  of	
  image	
  for	
  Responsive	
  web	
  apps	
  
•  Don’t	
  download	
  extra	
  CSS	
  	
  
•  Serve	
  low	
  resolu1on	
  images	
  on	
  smaller	
  screen	
  
Mobile	
  Apps	
  
•  Mobile	
  Browser	
  apps	
  
–  mDOT-­‐	
  dedicated	
  mobile	
  sites	
  
–  Responsive	
  web	
  design	
  	
  
•  Na9ve	
  Apps	
  	
  
•  Hybrid	
  Apps	
  
Challenges	
  
•  Memory	
  leaks	
  
•  CPU	
  limit	
  	
  
•  Network/Bandwidth	
  
•  Power	
  consump1ons	
  
	
  
Memory	
  Leaks	
  
ARC	
  
Power	
  Consump1on	
  
Power	
  Consump1on(Contd)	
  
Network/Bandwidth	
  
Takeaways	
  for	
  na1ve	
  apps	
  
•  Release	
  or	
  free	
  any	
  allocated	
  memory	
  as	
  soon	
  as	
  
you	
  are	
  done	
  using	
  it.	
  
•  Avoid	
  compu1ng	
  anything	
  un1l	
  you	
  are	
  sure	
  you	
  
actually	
  need	
  it.	
  
•  Avoid	
  spinlocks,	
  polling,	
  and	
  other	
  CPU-­‐hogging	
  
techniques.	
  
•  When	
  prac1cal,	
  perform	
  network	
  requests	
  in	
  
batches	
  rather	
  than	
  one	
  at	
  a	
  1me.	
  
•  Consider	
  memory-­‐mapping	
  large	
  files	
  instead	
  of	
  
reading	
  them	
  into	
  RAM.	
  Doing	
  so	
  helps	
  the	
  
system	
  manage	
  memory	
  more	
  efficiently.	
  
Few	
  Pointers	
  for	
  iOS	
  App	
  submission	
  
iOS	
  Guidelines:	
  
•  App	
  size	
  should	
  not	
  be	
  more	
  than	
  50	
  MB	
  for	
  
non-­‐gaming	
  app.	
  
•  Any	
  memory	
  leak	
  and	
  your	
  app	
  is	
  rejected	
  
•  Device	
  bagery	
  constraints	
  
•  Excessive	
  hea1ng	
  	
  
Ques1ons?	
  

Mais conteúdo relacionado

Mais procurados

Ppt of soap ui
Ppt of soap uiPpt of soap ui
Ppt of soap ui
pkslide28
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
SivaprasanthRentala1975
 

Mais procurados (20)

Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Mobile Performance Testing - Best Practices
Mobile Performance Testing - Best PracticesMobile Performance Testing - Best Practices
Mobile Performance Testing - Best Practices
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecture
 
Mobile automation using Appium
Mobile automation using AppiumMobile automation using Appium
Mobile automation using Appium
 
Mobile App Testing
Mobile App TestingMobile App Testing
Mobile App Testing
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing Strategy
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Appium Presentation
Appium Presentation Appium Presentation
Appium Presentation
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
 
Ppt of soap ui
Ppt of soap uiPpt of soap ui
Ppt of soap ui
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
 
Hybrid mobile app development
Hybrid mobile app developmentHybrid mobile app development
Hybrid mobile app development
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With Appium
 
Progressive Web Apps(PWA)
Progressive Web Apps(PWA)Progressive Web Apps(PWA)
Progressive Web Apps(PWA)
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 

Semelhante a Performance testing of mobile apps

Rise of the responsive single page application
Rise of the responsive single page applicationRise of the responsive single page application
Rise of the responsive single page application
Oren Shatken
 
Designing for Mobile Devices
Designing for Mobile DevicesDesigning for Mobile Devices
Designing for Mobile Devices
OxonDigital
 
UCCSC 2016
UCCSC 2016UCCSC 2016
UCCSC 2016
Alex Wu
 

Semelhante a Performance testing of mobile apps (20)

Mygola mobile app: Tech Challenges
Mygola mobile app: Tech ChallengesMygola mobile app: Tech Challenges
Mygola mobile app: Tech Challenges
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and Ionic
 
Mobile web development
Mobile web development Mobile web development
Mobile web development
 
Designing for mobile devices
Designing for mobile devicesDesigning for mobile devices
Designing for mobile devices
 
Engage 2013 - Mobile solution strategies
Engage 2013 - Mobile solution strategiesEngage 2013 - Mobile solution strategies
Engage 2013 - Mobile solution strategies
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
Webinar Recording "Best Practices in RWD - Responsive Web Design"
Webinar Recording "Best Practices in RWD - Responsive Web Design"Webinar Recording "Best Practices in RWD - Responsive Web Design"
Webinar Recording "Best Practices in RWD - Responsive Web Design"
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth element
 
User Focus 2014 - Choosing The Right Mobile Approach
User Focus 2014 - Choosing The Right Mobile ApproachUser Focus 2014 - Choosing The Right Mobile Approach
User Focus 2014 - Choosing The Right Mobile Approach
 
Rise of the responsive single page application
Rise of the responsive single page applicationRise of the responsive single page application
Rise of the responsive single page application
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
 
"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas
 
Going mobile with RichFaces
Going mobile with RichFacesGoing mobile with RichFaces
Going mobile with RichFaces
 
Web Apps and Responsive Design for Libraries
Web Apps and Responsive Design for LibrariesWeb Apps and Responsive Design for Libraries
Web Apps and Responsive Design for Libraries
 
Designing for Mobile Devices
Designing for Mobile DevicesDesigning for Mobile Devices
Designing for Mobile Devices
 
Consider Starting Small
Consider Starting SmallConsider Starting Small
Consider Starting Small
 
UCCSC 2016
UCCSC 2016UCCSC 2016
UCCSC 2016
 
Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015
 
Native vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App DevelopmentNative vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App Development
 

Mais de vodQA

Mais de vodQA (20)

Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Testing Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architectureTesting Strategy in Micro Frontend architecture
Testing Strategy in Micro Frontend architecture
 
Api testing libraries using java script an overview
Api testing libraries using java script   an overviewApi testing libraries using java script   an overview
Api testing libraries using java script an overview
 
Testing face authentication on mobile
Testing face authentication on mobileTesting face authentication on mobile
Testing face authentication on mobile
 
Testing cna
Testing cnaTesting cna
Testing cna
 
Etl engine testing with scala
Etl engine testing with scalaEtl engine testing with scala
Etl engine testing with scala
 
EDA for QAs
EDA for QAsEDA for QAs
EDA for QAs
 
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev tools
 
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challenges
 
vodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applications
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automation
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contracts
 
vodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testing
 
vodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deployments
 
vodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As code
 
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pact
 
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
 
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security way
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Performance testing of mobile apps

  • 1. Mobile  Performance  Tes1ng                                                        @RupeshDubey                                                          @PriyankDhillon  
  • 2. What  to  expect?   •  Why  mobile  performance  is  important?   •  Different  types  of  mobile  apps.   •  Performance  Challenges   •  Tools  and  Technique   •  Web  apps  Profiling  (Latency,page  audits)     •  Na1ve  apps  Profiling  (Memory  leaks)   •  Recommenda1ons  
  • 3. Why  mobile  perf  is  important?   Source:Blaze    
  • 4. Mobile  Users  Expect  equal  speeds   Source:Blaze  
  • 6. Mobile  Apps   •  Mobile  Browser  apps   –  mDOT-­‐  dedicated  mobile  sites   –  Responsive  web  design     •  Na1ve  Apps     •  Hybrid  Apps  
  • 8. Responsive  Web  Apps   Source:BostonGlobe  
  • 9. Mobile  Apps   •  Mobile  Browser  apps   –  Dedicated  mobile  sites  -­‐  mDOT   –  Responsive  web  design     •  Na1ve  Apps     •  Hybrid  Apps  
  • 10. Performance  Challenges     •  Mobile  Browser  apps   –  mDOT-­‐  dedicated  mobile  sites   –  Responsive  web  design     •  Na1ve  Apps     •  Hybrid  Apps  
  • 12. Perf  Challenges  while  browsing  on   mobile   •  Radio  Resource  Control   •  HTTP  pipelining   •  Browser  Cache   •  JS  execu1on  1me    
  • 15. Browser  Cache   Desktop  browser  Cache:  512  MB  
  • 16. Browser  Cache   •  sqlite3  webviewCache.db  'select  expires  from   cache  order  by  expires  desc;'  
  • 18. How  to  Monitor     •  MobiTest  /  Web  page  test   •  ADB  (  Android  debug  bridge)   •  Remote  debugging  for  mobile  safari   •  Yslow   •  SpriteMe   •  Icy  (iOS  specific)  
  • 21. Takeaways  for  Mobile  apps   •  Minify  your  java  script  and  CSS   •  All  images  have  dimensions  specified   •  Have  an  efficient  caching  strategy   •  Load  JavaScript  at  the  end  of  the  page   •  Lazy  loading     •  Different  sizes  of  image  for  Responsive  web  apps   •  Don’t  download  extra  CSS     •  Serve  low  resolu1on  images  on  smaller  screen  
  • 22. Mobile  Apps   •  Mobile  Browser  apps   –  mDOT-­‐  dedicated  mobile  sites   –  Responsive  web  design     •  Na9ve  Apps     •  Hybrid  Apps  
  • 23. Challenges   •  Memory  leaks   •  CPU  limit     •  Network/Bandwidth   •  Power  consump1ons    
  • 29. Takeaways  for  na1ve  apps   •  Release  or  free  any  allocated  memory  as  soon  as   you  are  done  using  it.   •  Avoid  compu1ng  anything  un1l  you  are  sure  you   actually  need  it.   •  Avoid  spinlocks,  polling,  and  other  CPU-­‐hogging   techniques.   •  When  prac1cal,  perform  network  requests  in   batches  rather  than  one  at  a  1me.   •  Consider  memory-­‐mapping  large  files  instead  of   reading  them  into  RAM.  Doing  so  helps  the   system  manage  memory  more  efficiently.  
  • 30. Few  Pointers  for  iOS  App  submission   iOS  Guidelines:   •  App  size  should  not  be  more  than  50  MB  for   non-­‐gaming  app.   •  Any  memory  leak  and  your  app  is  rejected   •  Device  bagery  constraints   •  Excessive  hea1ng