Sobes.tech
Junior — Middle

Lehetséges egyszerre két független folyamatot futtatni egy alkalmazáson belül?

sobes.tech MI

Válasz az MI-től

Androidban egy alkalmazáson belül több folyamat is indítható, de ezek függetlenek egymástól, és nem működnek, mint szálak egy folyamaton belül. Ehhez a manifestben meg lehet adni az android:process attribútumot a komponensekhez (Activity, Service, ContentProvider), hogy külön folyamatban fussanak.

Így egy alkalmazáson belül több független folyamat is lehet, amelyek párhuzamosan működhetnek, de minden folyamatnak saját memóriája és kontextusa van.

Példa az AndroidManifest.xml-ben:

<service android:name=".MyService"
         android:process=":remote" />

Itt a szolgáltatás külön folyamatban indul, az alkalmazás csomagnevére alapozva.

Fontos megjegyezni, hogy a folyamatok nem osztják meg a memóriát, ezért az adatok cseréjéhez IPC-t (pl. Binder, Messenger, AIDL) kell használni.