I\'ve read that it is a mistake and a source of memory leaks in Android application to keep a long-lived references to a Context.
But I don\'t understand if it is ok
This is fine, and will not cause a memory leak.
As soon as onCreate
finishes executing, h
will be out of scope and become eligible for garbage collection. If h
was static, then you would run into problems. Only when the reference to the context outlives the lifecycle of the context itself will a memory leak occur. A few helpful hints:
Context.getApplicationContext()
when possible. This context will live as long as your application is alive.The scope of the HelperClass is only within your onCreate function, so once onCreate executed, your "h" object is no longer needed and subject to garbage collection.
It would be a different story if "h" was a static member - THAT would be a great way to leak memory.