title: Service runs tasks on an interval; should it be its own process?
body: <p>I'm creating a service that runs in the background. It does the following:</p>
  
  <ul>
  <li>Gathers the user's data (with permission)</li>
  <li>Runs certain tasks every X minutes, and sends this data to a server every Y minutes</li>
  <li>I'd like if other people could write their own UI, widgets and other cool stuff.  </li>
  </ul>
  
  <p>Currently, the service continues to run between task runs/network sends (without a wakelock). </p>
  
  <p>The service listens for validation and runtime changes; this requires a separate process. There are ways around this but they would involve using IPC (which I don't think would cause a big performance hit).</p>
  
  <p>Questions:</p>
  
  <ul>
  <li>Should the service be allowed to die between tasks or should I let it run without a wakelock?</li>
  <li>Is it more effective to remain alive than to open a database every minute or so?</li>
  <li>Can people use my service if it's not in a separate process?</li>
  </ul>