Warning: Do not place Android context classes in static fields; this is a memory leak (and also breaks Instant Run)

Just make sure you pass context.getApplicationContext() or call getApplicationContext() on any context that is passed in via methods/constructor to your singleton if you decide to store it in any member field. idiot proof example (even if someone would pass in an activity it will grab the app context and use that to instantiate the singleton): … Read more