Activity Context vs Application Context

Mark Finkle mfinkle at mozilla.com
Wed Feb 12 19:45:49 PST 2014


Does this mean our recent work to cleanse the code of Activity contexts and use Application contexts was misguided and could be causing problems, even crashes? 

----- Original Message -----

> A worthy read: http://www.doubleencore.com/2013/06/context/

> When using Contexts, there are several different context types
> (Application, Activity, Service, etc. -- all mentioned in the link
> above). In the front-end code, the Application Context and Activity
> Context are the easiest to misuse.

> If you're doing anything UI-related, you *must* use the Activity
> Context. For example, this line showing a Toast looks innocuous
> enough:
> http://hg.mozilla.org/mozilla-central/file/879038dcacb7/mobile/android/base/home/HomeFragment.java#l157.
> But when you look at the Context being used, it's actually the
> Application Context. Red flag!

> On the other hand, when storing Context for long-lived objects
> (especially singletons), make sure you don't hold onto the Activity
> Context since that can result in memory leaks (An Activity can be
> recreated in the same Application instance). Better options are either
> a) pass the Activity Context to any methods requiring one, or b) if
> only the Application Context is needed, store the Application Context
> instead (e.g.,
> http://mxr.mozilla.org/mozilla-central/source/mobile/android/base/Tab.java#89).
> But be careful not to use this Context for anything UI-related for the
> reasons above.

> In short, all Contexts are not created equal, so we need to be careful
> how we use them.

> Brian
> _______________________________________________
> mobile-firefox-dev mailing list
> mobile-firefox-dev at mozilla.org
> https://mail.mozilla.org/listinfo/mobile-firefox-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/mobile-firefox-dev/attachments/20140212/8bb3b588/attachment.html>


More information about the mobile-firefox-dev mailing list