title: Android - Force a background app to free all of it's memory and any other resources
body: <p>I've inherited a large Android app that was implemented using non-Android practices. The app has several dozen Activities and uses the app as a singleton for caching data. The app crashes after a long period of idle time - this can happen while the devices sits on a single Activity or when restarted from the recent history of apps menu (usually null refs issues.)</p>
  
  <p>My question is - are there techniques or tools for faithfully forcing the resource freeing behavior to happen without waiting for the OS to reclaim the memory?</p>