Again, the media process you were killing in your example is not a
service in the android sense of the word (see
http://developer.android.com/reference/android/app/Service.html), but
a content provider.
If you kill a service, an application bound to that service will be
notified of that through a ServiceConnection callback, but the app
won't be killed.



On Mon, Feb 23, 2009 at 3:13 AM, Formosalf <[email protected]> wrote:
> Dianne, thanks.
>
> We found this issue under OOM condition.
>
> In OOM, android seems do following actions in order.
> 1) kill background service
> 2) call foreground activity OnLowMemory
> 3) GC
>
> It looks strange that 2) is after 1).
> If activity can know OOM before service gotten killed, there will be a
> chance to release service's binding connection.
> Since service will restart later, activity can rebind it in smooth way, not
> killed by system
>
>
>
> On Mon, Feb 23, 2009 at 4:49 PM, Dianne Hackborn <[email protected]>
> wrote:
>>
>> This has nothing to do with services.  If a process hosting a content
>> provider goes away, any processes that are currently clients of that
>> provider also are killed.
>>
>> On Mon, Feb 23, 2009 at 12:13 AM, Formosalf <[email protected]> wrote:
>>>
>>> Hi all,
>>>
>>> I have a quick experiment about service and app.
>>> Ap who bound the service will be killed by system if the service dies.
>>>
>>> Here is my experiment steps:
>>> 1. start camera and taking a picture
>>> 2. kill the android.process.media within adb shell.
>>> 3. the camera will killed by system with following logcat.
>>>
>>>
>>> I/ActivityManager(   60): Process android.process.media (pid 1968) has
>>> died.
>>> I/ActivityThread( 1942): Removing dead content provider: media
>>> I/ActivityThread( 1962): Removing dead content provider: media
>>> I/ActivityManager(   60): Killing app com.android.camera (pid 1942)
>>> because provider com.android.providers.media.MediaProvider is in dying
>>> process android.process.media
>>> I/Process (   60): Sending signal. PID: 1942 SIG: 9
>>> I/ActivityManager(   60): Killing app com.android.music (pid 1962)
>>> because provider com.android.providers.media.MediaProvider is in dying
>>> process android.process.media
>>> I/Process (   60): Sending signal. PID: 1962 SIG: 9
>>> D/Zygote  (   33): Process 1968 terminated by signal (15)
>>>
>>>
>>> Following is my questions.
>>> 1. is camera killed by ibinder?
>>> 2. is there any way to handle the service died in java ap? because in low
>>> memory condition, the service is easy to be killed. Since service will
>>> restart later, maybe AP can just wait for these services restart instead of
>>> killing by system. It seems easy to handle it in native with ibinder's
>>> deadnotifier, but the whole story seems different in java layer.
>>>
>>> Thanks.
>>>
>>>
>>
>>
>>
>> --
>> Dianne Hackborn
>> Android framework engineer
>> [email protected]
>>
>> Note: please don't send private questions to me, as I don't have time to
>> provide private support.  All such questions should be posted on public
>> forums, where I and others can see and answer them.
>>
>>
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" 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-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to