Android - Google's Contradiction On Singleton Pattern
Solution 1:
Since Google is contradicting itself
No, it is not.
The quoted Lint warning is not complaining about creating singletons. It is complaining about creating singletons holding a reference to an arbitrary Context
, as that could be something like an Activity
. Hopefully, by changing mContext = context
to mContext = context.getApplicationContext()
, you will get rid of that warning (though it is possible that this still breaks Instant Run — I cannot really comment on that).
Creating singletons is fine, so long as you do so very carefully, to avoid memory leaks (e.g., holding an indefinite static
reference to an Activity
).
Solution 2:
This is indeed a contradiction, since in many singletons you will need a context. Have a look at this post, I am using now this approach to avoid the warning in android studio:
Post a Comment for "Android - Google's Contradiction On Singleton Pattern"