Re: [android-developers] what if package is uninstalled while another package holds its Context?
On Tue, May 29, 2012 at 1:19 AM, TreKing <trekingapp@gmail.com> wrote:
> On Mon, May 28, 2012 at 3:10 PM, Latimerius <l4t1m3r1us@googlemail.com>
> wrote:
>>
>> Say package A gets a package B's Context by calling
>>
>> Context pkgBctx = createPackageContext ("B", 0);
>
>
> Read the summary for that method.
Cheers for the hint but I know that by heart by now. ;-)
> This is not "getting" package B's Context.
> This is creating a Context that refers to that package. Context is an
> abstract concept, not some physical thing that is sitting around being
> shared.
First of all, the docs say "Context objects are not shared, however
they share common state (Resources, ClassLoader, etc)". The way I
read this is that the important parts of Context *are* shared even
though the Context itself (likely mostly an empty shell, a collection
of references) is not.
But more importantly and more to the point, the package B *itself*,
its files, *is* a physical thing sitting around being shared. I'm not
interested in the B's Context instance as such that A holds, I'm
wondering how come it allows A to access B which is uninstalled by
then.
> So you basically have an object that has some in-memory state
> information it obtained from B. If B goes away after it's created shouldn't
> matter as it's just the source for your local Context instance.
Sorry, I should have been more specific as to what I meant saying A is
able to use B through B's Context after B has been uninstalled.
You're right and I understand that things like getPackageName() or
getExternalCacheDirectory() will continue to work as those are not
much more than a bunch of values stored in the instance somewhere.
However the puzzling part is that A seems to be able to access (read
and use) *files* in B's assets/ directory. If B's gone those should
be gone too - right?
Thanks for your help!
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home