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
> [email protected]
> https://mail.mozilla.org/listinfo/mobile-firefox-dev
_______________________________________________
mobile-firefox-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to