building complex android applications brings a hole host of issues that were never accounted for in the architecture of the android platform. this talk examines these issues and presents patterns for dealing with them. Includes: gracefully handling crashes and controlling navigation and launching after they occur, waiting for app initialization and loading, capturing the application context, and launching services during app initialization with that app context.