Будет ли утечка соединения со службой Android, если процесс клиента будет уничтожен Android? - PullRequest
3 голосов
/ 03 октября 2011

Условие: У меня есть клиентская активность «X» удаленной службы (с AIDL), которая вызывает bindService() в onCreate() и unbindService() в onDestroy(). Предположим, что это действие было начато, но не на переднем плане (onStop() произошло).

Говорят, что когда системе Android требуется больше памяти, она может прервать процесс другого действия с меньшим приоритетом (возможно, "X").

Если, скажем, система Android решит уничтожить процесс "X", то, согласно диаграмме жизненного цикла действия, onDestroy() не будет вызван, если процесс будет уничтожен, когда потребуется больше памяти. http://developer.android.com/guide/topics/fundamentals/activities.html

Вопрос: Это приведет к утечке служебного соединения? Безопаснее ли связывать и отменять привязку в onStart() и onStop()?

Заранее спасибо!

1 Ответ

2 голосов
/ 03 октября 2011

Вопрос: не приведет ли это к утечке служебного соединения?

Объект ServiceConnection будет находиться в процессе "X" и, следовательно, исчезнет, ​​когда этот процесс будет завершен.

...