On Thu, Apr 26, 2012 at 7:53 AM, beachboy <[email protected]> wrote:
> As I understand it from a previous post and behavior I have seen in my
> application under certain instances Android will spawn a new process
> for a BroadcastReceiver onReceive.

If a process for your app is not running, and your BroadcastReceiver
is registered via the manifest (e.g., <receiver>), Android will spawn
a new process. Otherwise, normally, Android will use your existing
process.

> 1) If I create the BroadcastReceiver as:
>
>    private BroadcastReceiver mBroadcastReceiver;
>    private Runnable mRunnable;
>
>    void xyz() {
>        mBroadcastReceiver = new BroadcastReceiver() {
>              @Override
>               public void onReceive(Context, Intent intent) {
>                   mRunnable.run();
>               }
>        };
>    }
>
> if the onReceive is called in a new process

It will never be called in a new process in this case. First, you
never register your BroadcastReceiver. Second, even if you did (via
registerReceiver() in your activity or service), you already have a
process.

> can I reference objects/
> memory in the onReceive that was associated with the object that
> created the BroadcastReceiver. In this example can i reference
> mRunnable?

Yes, because this is not a new process, but rather your existing process.

> 2) If the answer to question #1 is yes can I call the mRunnable.run()
> as in the example above and have a thread be run even though its in
> another process?

It will not be in another process, as previously noted.

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://github.com/commonsguy
http://commonsware.com/blog | http://twitter.com/commonsguy

Android Training in NYC: http://marakana.com/training/android/

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to