Dentro de una aplicación, ¿funcionará la actividad y el servicio en el mismo proceso?
Pregunta de Entrevista: ¿En una Aplicación, la Actividad y el Servicio se ejecutan en el mismo proceso o en diferentes procesos? Mi respuesta fue ::: En el mismo proceso.
Pregunta siguiente ::: Si es así, ¿cómo es que la actividad y el servicio se ejecutan al mismo tiempo? Mi respuesta fue ::: El sistema operativo se encargará de la ejecución. (Francamente, no sabía la respuesta).
- Problemas con SharedPreferences en un servicio (getPreferences no existe en un servicio)
- Error "No se puede iniciar el servicio de intención" al iniciar el servicio desde una actividad en Android
- Android: ¿Cómo usar mediaController en la clase de servicio?
- ¿Es posible tener varias cerraduras de la estela?
- Mi BroadcastReceiver no está recibiendo la intención BOOT_COMPLETED después de mis botas N1
¿Puede alguien dar una explicación de las preguntas anteriores? Si mi respuesta era incorrecta, ¿cuál es la respuesta correcta?
- Relación entre Foreground Services y PARTIAL_WAKE_LOCK
- PARTIAL_WAKE_LOCK vs SCREEN_DIM_WAKE_LOCK en el subproceso de descarga
- No se puede iniciar el servicio
- El archivo Dex superó los 64 KB después de agregar Google Play Services.
- Android: servicio destruido cuando se gira la pantalla
- ¿Cómo puedo eliminar una notificación de primer plano en Android Lollipop?
- El servicio androide deja de funcionar después de que la aplicación no esté en uso por un tiempo
- Activar el servicio de fondo en un momento específico de Android
No hay manera de iniciar una actividad y un servicio que se ejecuten en el mismo proceso (que es el comportamiento predeterminado) al mismo tiempo.
El método onCreate () del servicio se ejecuta en el subproceso principal (UI).
El método onCreate () de la actividad también se ejecuta en el subproceso principal (UI).
La única manera de tener ambos iniciar en más o menos al mismo tiempo es que el servicio se ejecute en un proceso independiente.
Usted puede intentar lanzar pocos hilos y utilizar el semáforo con la bandera más barier.
Si el servicio y la actividad pertenecen a tu aplicación, entonces:
El mismo proceso si no se define de otra manera. Puede crear servicio que se ejecutará en un proceso independiente.
El servicio y la actividad comparten el mismo subproceso. Así que no pueden correr simultáneamente. Pero puede crear nuevos subprocesos para procesar comandos en Service. O utilice IntentService que procesa todos los comandos en el propio subproceso. Algunos métodos de servicio siempre se ejecutan en un subproceso de interfaz de usuario (por ejemplo, onCreate) Entonces, la actividad y el servicio pueden ejecutarse en paralelo (si tiene 2 y más núcleos =).
Ambos pueden trabajar en procesos iguales o diferentes dependiendo de la personalización. Y sí, OS es el responsable de la ejecución de estos dos. Compruebe esto para una explicación detallada: http://developer.android.com/guide/topics/manifest/service-element.html#proc