2011-07-04 10 views
7

Opracowałem aplikację na Androida, która ma 1 proces i 2 usługi. Ale zauważyłem, że "Usługi Google" mają 2 procesy i 1 usługę. Jak może mieć 2 procesy? Zrobiłem trochę czytania pod numerem Processes and Threads, aby dowiedzieć się więcej o procesach. Mówi o posiadaniu oczywistego wpisu, ale bez konkretnego przykładu nie rozumiem tego. Czy ktoś może wyjaśnić, w jaki sposób aplikacja na Androida może mieć więcej niż jeden proces i podać konkretny przykład?W jaki sposób aplikacja dla systemu Android może mieć więcej niż jeden proces?

Odpowiedz

15

Można podać w manifeście numer android:process=":remote", aby uruchomić działanie/usługę w oddzielnym procesie.

"Zdalny" jest po prostu nazwą zdalnego procesu i można go nazwać, jak tylko chcesz. Jeśli chcesz, aby kilka działań/usług działało w tym samym procesie, po prostu nadaj mu tę samą nazwę.

<activity android:name=".RemoteActivity" android:label="@string/app_name" android:process=":RemoteActivityProcess"/> 
+1

Twoja odpowiedź i blog wyglądają dobrze. Akceptuję twoją odpowiedź i głosuję za nią. Jeśli potrzebuję później pewnych wyjaśnień, mam nadzieję, że dostarczysz. – Marie

+0

Link do wpisu na blogu jest martwy, napraw to, ponieważ jest to naprawdę ciekawe. – Jojje

+0

Link pokazuje niektóre rodzaje loterii. Napraw link. – CopsOnRoad

2

jeśli szukasz przykładów, należy sprawdzić hogwarts library, musi dostarczyć zestaw do programowania procesów w multi-android.

Zasadniczo istnieją następujące rzeczy potrzebne do uruchomienia usługi we własnym procesie.

  1. w AndroidManifest.xml, upewnij atrybut proces danej usługi, jest „remote” lub coś podobnego z „:” prefiksu
  2. użytku StartService() wywołanie, aby wywołać usługę ze swojej działalności.
  3. użyj AIDL dla ipc.
  4. Spraw, aby wszystko przenosiło się między procesami. Działka. (w rzeczywistości jest to wymagane w punkcie 3)
Powiązane problemy