title: Pairing dispatch_resume and dispatch_suspend for forced app kill
body: <p>If you're creating and managing timers via GCD with <code>dispatch_source_create, dispatch_resume and dispatch_suspend</code>, I know that you have to always make sure that for every dispatch_suspend, there has to be a matching <code>dispatch_resume</code>. </p>
  
  <p>So when an application enters background mode, you would call dispatch_suspend and upon receiving <code>applicationDidBecomeActive</code>, call <code>dispatch_resume</code> on the timer sources that were previously suspended.</p>
  
  <p>What about the <code>dispatch_resume</code> when an application was force killed (via bringing up the list of apps running in background)? Do you have to worry about it all? I presume that when the app is restarted, <code>application:didFinishLaunchingWithOptions</code> is invoked as if the app is starting cleanly.. Is this assumption correct?</p>