title: Confusion between background vs suspended app states
body: <p>I am bit confused about these two states. Following is my understanding;</p>
  
  <blockquote>
    <p>when app is in background and if you have <code>"Application does not run
    in background"</code> set to NO in App plist file then App continues running
    in background. In suspend mode App stays in memory but does not
    execute code! System doesn't notify App when it moves to Suspended
    state and wipes out App from memory in low memory situation to create space for foreground Apps.</p>
  </blockquote>
  
  <p>Is my understanding correct? If it is so then why don't I get my NSLog printed on console when App running in background and executing code? What actually happens to my TCP socket connection where I am continuously gets the data from server? Why do we need Suspended state as anyway System eventually wipes out App from memory in low memory situation. Is there any difference between App becoming active from suspended state or starting fresh?</p>