Saturday, July 16, 2011

[android-developers] Re: Killing rogue plug-in threads within an Android application

On the dev page describing Processes and threads (link below), it
states that "By default, all components of the same application run in
the same process and most applications should not change this.
However, if you find that you need to control which process a certain
component belongs to, you can do so in the manifest file." This seems
to imply that multiple processes are possible for a given application;
however, do applications with multiple processes share the same memory
space, or is AIDL required to communicate between components running
in a separate process, even though they are both part of the same
application?

Additionally, can anyone shed some light on how additional processes
are actually created by an Android application? Can an application
"launch" additional processes arbitrarily, or is there some Manifest
configuration necessary? Also, what about filesystem access - i.e. can
each process in an single application access each others' files? My
end goal is to be able to isolate and possibly terminate misbehaving
plug-ins that have been loaded at runtime using OSGi.

Thanks for the help.

Best,
DCA

Reference:
http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html


On Jul 15, 5:50 am, gjs <garyjamessi...@gmail.com> wrote:
> Hi,
>
> Can you framework load these untrusted Threads into a separate
> process ? If yes just kill that process.
>
> Regards
>
> On Jul 13, 11:16 pm, DCA <onl...@dcarlson.info> wrote:
>
>
>
>
>
>
>
> > I've developed a framework that loads potentially untrusted plug-in
> > code from a remote repository into my framework's process at runtime
> > (using OSGi). Each plug-in is started on a thread that my framework
> > holds a reference to. Problematically, misbehaving plug-ins may
> > continue to run, even when asked to stop by the framework using
> > conventional means (i.e. setting a flag). Because of this, I need a
> > way to forceably kill the thread a problem plug-in is running on,
> > along with any additional threads the plug-in thread may have created.
> > Since I can't rely on "normal" methods of managing plug-in threads
> > (i.e. using a flag or relying on the thread obeying an interrupted
> > exception), I've tried sending the plug-in thread's id into
> > android.os.Process.killProcess, but this doesn't seem to work. I've
> > also tried using ActivityManager.killBackgroundProcesses, but this
> > method doesn't seem to operate at the thread level.
>
> > Any other ideas?
> > DCA

--
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


Real Estate