I created a custom Application class for my app. This class onCreate sets a static variable of itself like this
public void onCreate() {
  super.onCreate();
  mInstance = this;
}
public static ChattyApp getInstance() {
  return mInstance;
}
Then I use App.getInstance() method to get application context to a nonactivity/fragment class like API Controller or something. Can it cause a memory leak?
I setup leak canary and it is showing memory leak on an instance variable of Application class. This variable keeps socket.io's socket ref so that I can use it anywhere in the app.
 
    