PacktLib: iPhone Applications Tune-Up

iPhone Applications Tune-Up

Credits

About the Author

About the Reviewers

www.PacktPub.com

Preface

Performance, Bottlenecks, and Fundamentals

Success and performance

Perception of performance

Performance fundamentals

Approaching performance

Process management

Memory

Storage

Network

User interface

Be a good neighbor

Application design and architecture

Application performance

Summary

Design for Performance

Preparing the project

Project organization

Project structure

Groups and files

Code structure

Summary

Maintainability

Variable naming conventions

Method naming conventions

Camel case

Syntax efficiency

Readability versus compactness

Dot syntax

Re-factoring

Library bloat

LIPO

Comments

Documentation

Summary

Reliability

Exception handling

Error checking

Unit testing

Preparing a project for logic unit testing

Preparing a project for application unit testing

Summary

Performance Measurement and Benchmarking

Static analyzer

Instruments

Summary

Syntax and Process Performance

Iteration loops

Object reuse

Bitmasks

Sorting

Bubble sort

Selection sort

Bucket sort

Quicksort

Run loops

Timers

Semaphores

Summary

Network Performance

Sockets

Streams

Protocols

Bandwidth

Compression

Fa├žade pattern

Summary

Memory Performance

Garbage collection

Alloc

Dealloc

Copy

Retain

Release

Autorelease

didReceiveMemoryWarning

Summary

Application and Object Lifecycles

Mise en place

Application lifecycle

Application startup sequence

Application execution

Application termination sequence

Application init

awakeFromNib

application: didFinishLaunchingWithOptions

applicationDidBecomeActive

applicationWillEnterForeground

applicationWillResignActive

applicationDidEnterBackground

applicationWillTerminate

Object lifecycle

Object init

Summary

Animation, View, and Display Performance

View performance

Animated content

Core Animation

Item renderers

Summary

Database and Storage Performance

Disk

Cache

Compression

SQLite

Core Data

Summary

Common Cocoa Design Patterns

Why design patterns are critical

Singleton

Mediator

Delegate

Adaptor

Decorator

Model-View-Controller

Summary

The Xcode Advantage

Distributed builds

Dead code stripping

Compiler

Debugger

Source code management

Summary