¿El nombre del proceso es el mismo que el nombre del paquete en Android?

Por proceso quiero decir lo que proporcionamos enandroid:process y por paquete quiero decir paquete en

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.osg.appkiller"
    android:versionCode="1"
    android:versionName="1.0" >

Más detallesProcesos y subprocesos - Desarrollador de Android

Quería obtener los nombres de las aplicaciones en ejecución. Así que esto es lo que hice después de mirar varias fuentes (y funciona).

    ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    PackageManager packageManager = getPackageManager();
    final List<RunningAppProcessInfo> runningProcesses = activityManager.getRunningAppProcesses();
    for(RunningAppProcessInfo processInfo : runningProcesses) {
        CharSequence appName = null;
        try {
            appName = packageManager.getApplicationLabel(packageManager.getApplicationInfo(processInfo.processName, PackageManager.GET_META_DATA));
        } catch (NameNotFoundException e) {
            Log.e(TAG,"Application info not found for process : " + processInfo.processName,e);
        }
    }

Si ve Documentación para PackageManager.getApplicationInfo

ApplicationInfo android.content.pm.PackageManager.getApplicationInfo(String packageName, int flags) throws NameNotFoundException

pero estoy pasando

processInfo.processName

donde processName es el nombre del proceso en ejecución. Básicamente, estamos usando el nombre del proceso como nombre del paquete para obtener información de la aplicación.

En primer lugar, ¿es correcto este enfoque?En segundo lugar, ¿es cierto que si no proporcionamos procesos para actividades / servicios, etc., se crea un nuevo proceso con el mismo nombre que el nombre del paquete?

Respuestas a la pregunta(1)

Su respuesta a la pregunta