getRunningAppProcesses():
devuelve una lista de registros RunningAppProcessInfo, o null si no hay procesos en ejecución (no devolverá una lista vacía). Este orden de lista no está especificado.
getRunningTasks (int maxNum):
devolver una lista de las tareas que se están ejecutando actualmente, con el más reciente es la primera y más viejos queridos después en orden. Tenga en cuenta que "ejecutar" no significa que ninguno de los códigos de la tarea esté actualmente cargado o actividad: la tarea puede haber sido congelada por el sistema, por lo que puede reiniciarse en su estado anterior cuando vuelva a ponerse en primer plano.
Actualización:
Ahora la diferencia entre Tarea y Proceso.
En Android una Tarea es un conjunto de o puede decir una colección de Actividades. Se trata de la interacción del usuario con estas actividades. Android mantiene estas actividades en la pila en consecuencia, se abren y mantienen esta pila. Puede ser una pila o muchas pilas, la última actividad abierta en la parte superior de la pila. Y cómo Android mantiene el estado de los sistemas. Una aplicación tiene su propia tarea con las actividades abiertas y si se inicia una nueva aplicación, el sistema crea una nueva tarea con nuevas actividades en la estructura LIFO. Y cuando el usuario interactúa con esta tarea en la pantalla de inicio, simplemente navega a una aplicación particular y la tarea de esta aplicación ahora se convierte en primer plano.
While Process está relacionado con el componente de la aplicación Android. Cada nueva aplicación de Android comienza en un nuevo Proceso (Proceso de Linux) en su propio espacio de usuario. Todos los componentes de la aplicación se ejecutan en el mismo proceso de forma predeterminada. Y se ejecuta como proceso de subproceso único. Es por eso que se llama Subproceso principal de la aplicación. Pero aquí puede definir un proceso por separado para diferentes componentes de aplicaciones de Android, como Actividad, Servicio, Proveedor o Receptor de difusión usando el atributo de manifiesto android:process
. Android Process tiene el mismo fundamento que Linux Process con UserId, por lo que puedes combinar diferentes componentes de aplicaciones Android que se ejecutan en el mismo proceso con el mismo UserId.
Por lo tanto, cuando llame al getRunningAppProcesses()
le dará todos los procesos de las aplicaciones de Android en ejecución relacionadas con la ejecución de componentes de la aplicación.
Y getRunningTasks (int maxNum)
le proporciona la lista de tareas creadas para diferentes aplicaciones en ejecución por sistemas mientras el usuario interactúa con las aplicaciones.
Esta respuesta solo copió y pegó desde la página de la que se originó la pregunta original. Las otras dos respuestas lo explican 'en otras palabras'. – Bamerza
@Bamerza - En realidad, la respuesta anterior estaba relacionada con las preguntas antes de la actualización. Gracias por los comentarios que he actualizado la respuesta según el nuevo tema y la información de la pregunta. – user370305