SlideShare a Scribd company logo
© 2012 Citrrus LLC. All Rights Reserved.
The iPhone will prove to be more historically
              significant than
          the Personal Computer




                © 2012 Citrrus LLC. All Rights Reserved.
Above a Bar




© 2012 Citrrus LLC. All Rights Reserved.
Agile Optimization


Start slow...




                  © 2012 Citrrus LLC. All Rights Reserved.
DebugLog... your best friend
#ifdef DEBUG

#define DebugLog(...) NSLog(@"%s (%d) %@",
__PRETTY_FUNCTION__, __LINE__, [NSString
stringWithFormat:__VA_ARGS__])
#else

#define DebugLog(...)
#endif


2012-05-07 18:02:20.775 UVA Magazine[4509:17c03]
-[PDFPageViewController viewWillAppear:] (78) View Will Appear for PDF Page




                               © 2012 Citrrus LLC. All Rights Reserved.
Perception


“Beauty is everywhere a
  welcome guest.”
              Johann Wolfgang von Goethe




                © 2012 Citrrus LLC. All Rights Reserved.
Images... more than meets the eye


+[UIImage imageNamed:]
  * Reads file
  * Uncompresses
  * Caches




+[UIImage imageWithContentsOfFile:]
  * Checks access to file
  * File is read and uncompressed
    when image drawn




                          © 2012 Citrrus LLC. All Rights Reserved.
Images... more than meets the eye




          © 2012 Citrrus LLC. All Rights Reserved.
Memory Management


Use Less

Release Early and Often




               © 2012 Citrrus LLC. All Rights Reserved.
Networking


Combine Requests

Compact your data




                    © 2012 Citrrus LLC. All Rights Reserved.
Fast Scrolling


Do your own drawing

Reuse/Recycle

Don’t get in the way of the
 main thread




                © 2012 Citrrus LLC. All Rights Reserved.
Burn the resource you have


Memory vs CPU




            © 2012 Citrrus LLC. All Rights Reserved.
CoreData + SQLite




CoreData + SQLite = partial file access

-[NSData initWithContentsOfFile] = full file access




                  © 2012 Citrrus LLC. All Rights Reserved.
Enumeration
objectAtIndex
for(int i=0;i<count;i++)
{
  id item;
  item = [myObjects objectAtIndex:i];
  NSLog(@"Found an Item: %@",item);
}

  NSFastEnumeration
  for(id item in myObjects)
  {
      NSLog@"Found an Item: %@",item);
  }




                            © 2012 Citrrus LLC. All Rights Reserved.

More Related Content

Viewers also liked

Gamification at SharePoint Saturday Belgium
Gamification at SharePoint Saturday BelgiumGamification at SharePoint Saturday Belgium
Gamification at SharePoint Saturday Belgium
Jussi Mori
 
Ip cchapter2 thornock
Ip cchapter2 thornockIp cchapter2 thornock
Ip cchapter2 thornock
RThornock
 
Program logic models: design and use
Program logic models: design and useProgram logic models: design and use
Program logic models: design and use
Jana Garay
 
Raising productivity with SharePoint and Gamification
Raising productivity with SharePoint and GamificationRaising productivity with SharePoint and Gamification
Raising productivity with SharePoint and GamificationJussi Mori
 
Leadership from the inside out 3
Leadership from the inside out 3Leadership from the inside out 3
Leadership from the inside out 3sportpsychdoc
 
Peaches Industries Gamification story
Peaches Industries Gamification storyPeaches Industries Gamification story
Peaches Industries Gamification storyJussi Mori
 
Фотовыставка
ФотовыставкаФотовыставка
ФотовыставкаGreeeng
 
FFEA 2016 -10 Website Mistakes Even Great Marketers Can Make
FFEA 2016 -10 Website Mistakes Even Great Marketers Can MakeFFEA 2016 -10 Website Mistakes Even Great Marketers Can Make
FFEA 2016 -10 Website Mistakes Even Great Marketers Can Make
Saffire
 
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stanford GSB Corporate Governance Research Initiative
 
The Presentation Come-Back Kid
The Presentation Come-Back KidThe Presentation Come-Back Kid
The Presentation Come-Back Kid
Ethos3
 
10 Tips for WeChat
10 Tips for WeChat10 Tips for WeChat
10 Tips for WeChat
Chris Baker
 
20 Ideas for your Website Homepage Content
20 Ideas for your Website Homepage Content20 Ideas for your Website Homepage Content
20 Ideas for your Website Homepage Content
Barry Feldman
 

Viewers also liked (15)

Gamification at SharePoint Saturday Belgium
Gamification at SharePoint Saturday BelgiumGamification at SharePoint Saturday Belgium
Gamification at SharePoint Saturday Belgium
 
Ip cchapter2 thornock
Ip cchapter2 thornockIp cchapter2 thornock
Ip cchapter2 thornock
 
Program logic models: design and use
Program logic models: design and useProgram logic models: design and use
Program logic models: design and use
 
Raising productivity with SharePoint and Gamification
Raising productivity with SharePoint and GamificationRaising productivity with SharePoint and Gamification
Raising productivity with SharePoint and Gamification
 
Leadership from the inside out 3
Leadership from the inside out 3Leadership from the inside out 3
Leadership from the inside out 3
 
Peaches Industries Gamification story
Peaches Industries Gamification storyPeaches Industries Gamification story
Peaches Industries Gamification story
 
Sales meeting 9.18.12
Sales meeting 9.18.12Sales meeting 9.18.12
Sales meeting 9.18.12
 
Фотовыставка
ФотовыставкаФотовыставка
Фотовыставка
 
Presentation 2
Presentation 2Presentation 2
Presentation 2
 
Tu
TuTu
Tu
 
FFEA 2016 -10 Website Mistakes Even Great Marketers Can Make
FFEA 2016 -10 Website Mistakes Even Great Marketers Can MakeFFEA 2016 -10 Website Mistakes Even Great Marketers Can Make
FFEA 2016 -10 Website Mistakes Even Great Marketers Can Make
 
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
 
The Presentation Come-Back Kid
The Presentation Come-Back KidThe Presentation Come-Back Kid
The Presentation Come-Back Kid
 
10 Tips for WeChat
10 Tips for WeChat10 Tips for WeChat
10 Tips for WeChat
 
20 Ideas for your Website Homepage Content
20 Ideas for your Website Homepage Content20 Ideas for your Website Homepage Content
20 Ideas for your Website Homepage Content
 

Similar to Mo devoptimization

网站前段性能优化-品友互动
 网站前段性能优化-品友互动 网站前段性能优化-品友互动
网站前段性能优化-品友互动
Shaoning Pan
 
Dell data protection
Dell data protectionDell data protection
Dell data protection
ssuser1eca7d
 
Efficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQEfficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQ
connectwebex
 
Security - Part II.pdf
Security - Part II.pdfSecurity - Part II.pdf
Security - Part II.pdf
ShaiAlmog1
 
Jailbreak Detector Detector
Jailbreak Detector DetectorJailbreak Detector Detector
Jailbreak Detector Detector
Nick Mooney
 
Enabling the mobile Web for a Dojo component
Enabling the mobile Web for a Dojo componentEnabling the mobile Web for a Dojo component
Enabling the mobile Web for a Dojo componentcjolif
 
Plone pwns
Plone pwnsPlone pwns
Plone pwns
Dylan Jay
 
iOS Development - Tips & Tricks
iOS Development - Tips & TricksiOS Development - Tips & Tricks
iOS Development - Tips & Tricks
it-tour
 
iOS development - tips & tricks
iOS development - tips & tricksiOS development - tips & tricks
iOS development - tips & tricksStefan Tsvyatkov
 
IT guide to data storage and protection
IT guide to data storage and protectionIT guide to data storage and protection
IT guide to data storage and protection
doogstone
 
Securing User Data with SQLCipher
Securing User Data with SQLCipherSecuring User Data with SQLCipher
Securing User Data with SQLCipher
CommonsWare
 
企業應用行動化開發架構
企業應用行動化開發架構企業應用行動化開發架構
企業應用行動化開發架構
湯米吳 Tommy Wu
 
iOS application (in)security
iOS application (in)securityiOS application (in)security
iOS application (in)security
iphonepentest
 
Tighten your Security and Privacy
Tighten your Security and PrivacyTighten your Security and Privacy
Tighten your Security and Privacy
connectwebex
 
Securing Android Applications
Securing Android ApplicationsSecuring Android Applications
Securing Android Applications
Infosys
 
How to map Domain changes on an existing Database
How to map Domain changes on an existing DatabaseHow to map Domain changes on an existing Database
How to map Domain changes on an existing Database
Philip Washington Sorst
 
Sjug aug 2010_cloud
Sjug aug 2010_cloudSjug aug 2010_cloud
Sjug aug 2010_cloud
Michael Neale
 
Code to go Android
Code to go AndroidCode to go Android
Code to go Android
Peter van der Linden
 
Presentation15 parse xml
Presentation15 parse xmlPresentation15 parse xml
Presentation15 parse xml
Ankit Desai
 

Similar to Mo devoptimization (20)

网站前段性能优化-品友互动
 网站前段性能优化-品友互动 网站前段性能优化-品友互动
网站前段性能优化-品友互动
 
Dell data protection
Dell data protectionDell data protection
Dell data protection
 
Efficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQEfficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQ
 
Security - Part II.pdf
Security - Part II.pdfSecurity - Part II.pdf
Security - Part II.pdf
 
Jailbreak Detector Detector
Jailbreak Detector DetectorJailbreak Detector Detector
Jailbreak Detector Detector
 
Sightly_techInsight
Sightly_techInsightSightly_techInsight
Sightly_techInsight
 
Enabling the mobile Web for a Dojo component
Enabling the mobile Web for a Dojo componentEnabling the mobile Web for a Dojo component
Enabling the mobile Web for a Dojo component
 
Plone pwns
Plone pwnsPlone pwns
Plone pwns
 
iOS Development - Tips & Tricks
iOS Development - Tips & TricksiOS Development - Tips & Tricks
iOS Development - Tips & Tricks
 
iOS development - tips & tricks
iOS development - tips & tricksiOS development - tips & tricks
iOS development - tips & tricks
 
IT guide to data storage and protection
IT guide to data storage and protectionIT guide to data storage and protection
IT guide to data storage and protection
 
Securing User Data with SQLCipher
Securing User Data with SQLCipherSecuring User Data with SQLCipher
Securing User Data with SQLCipher
 
企業應用行動化開發架構
企業應用行動化開發架構企業應用行動化開發架構
企業應用行動化開發架構
 
iOS application (in)security
iOS application (in)securityiOS application (in)security
iOS application (in)security
 
Tighten your Security and Privacy
Tighten your Security and PrivacyTighten your Security and Privacy
Tighten your Security and Privacy
 
Securing Android Applications
Securing Android ApplicationsSecuring Android Applications
Securing Android Applications
 
How to map Domain changes on an existing Database
How to map Domain changes on an existing DatabaseHow to map Domain changes on an existing Database
How to map Domain changes on an existing Database
 
Sjug aug 2010_cloud
Sjug aug 2010_cloudSjug aug 2010_cloud
Sjug aug 2010_cloud
 
Code to go Android
Code to go AndroidCode to go Android
Code to go Android
 
Presentation15 parse xml
Presentation15 parse xmlPresentation15 parse xml
Presentation15 parse xml
 

Recently uploaded

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
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
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
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
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
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
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
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
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
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
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
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...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
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 !
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Mo devoptimization

  • 1. © 2012 Citrrus LLC. All Rights Reserved.
  • 2. The iPhone will prove to be more historically significant than the Personal Computer © 2012 Citrrus LLC. All Rights Reserved.
  • 3. Above a Bar © 2012 Citrrus LLC. All Rights Reserved.
  • 4. Agile Optimization Start slow... © 2012 Citrrus LLC. All Rights Reserved.
  • 5. DebugLog... your best friend #ifdef DEBUG #define DebugLog(...) NSLog(@"%s (%d) %@", __PRETTY_FUNCTION__, __LINE__, [NSString stringWithFormat:__VA_ARGS__]) #else #define DebugLog(...) #endif 2012-05-07 18:02:20.775 UVA Magazine[4509:17c03] -[PDFPageViewController viewWillAppear:] (78) View Will Appear for PDF Page © 2012 Citrrus LLC. All Rights Reserved.
  • 6. Perception “Beauty is everywhere a welcome guest.” Johann Wolfgang von Goethe © 2012 Citrrus LLC. All Rights Reserved.
  • 7. Images... more than meets the eye +[UIImage imageNamed:] * Reads file * Uncompresses * Caches +[UIImage imageWithContentsOfFile:] * Checks access to file * File is read and uncompressed when image drawn © 2012 Citrrus LLC. All Rights Reserved.
  • 8. Images... more than meets the eye © 2012 Citrrus LLC. All Rights Reserved.
  • 9. Memory Management Use Less Release Early and Often © 2012 Citrrus LLC. All Rights Reserved.
  • 10. Networking Combine Requests Compact your data © 2012 Citrrus LLC. All Rights Reserved.
  • 11. Fast Scrolling Do your own drawing Reuse/Recycle Don’t get in the way of the main thread © 2012 Citrrus LLC. All Rights Reserved.
  • 12. Burn the resource you have Memory vs CPU © 2012 Citrrus LLC. All Rights Reserved.
  • 13. CoreData + SQLite CoreData + SQLite = partial file access -[NSData initWithContentsOfFile] = full file access © 2012 Citrrus LLC. All Rights Reserved.
  • 14. Enumeration objectAtIndex for(int i=0;i<count;i++) { id item; item = [myObjects objectAtIndex:i]; NSLog(@"Found an Item: %@",item); } NSFastEnumeration for(id item in myObjects) { NSLog@"Found an Item: %@",item); } © 2012 Citrrus LLC. All Rights Reserved.