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?
7
A
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"/>
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.
- w AndroidManifest.xml, upewnij atrybut proces danej usługi, jest „remote” lub coś podobnego z „:” prefiksu
- użytku StartService() wywołanie, aby wywołać usługę ze swojej działalności.
- użyj AIDL dla ipc.
- Spraw, aby wszystko przenosiło się między procesami. Działka. (w rzeczywistości jest to wymagane w punkcie 3)
Powiązane problemy
- 1. plik źródłowy nie może mieć więcej niż jeden public class
- 2. w jaki sposób delphi "ciąg" literałów może mieć więcej niż 255?
- 3. nie może append_entry FieldList w Kolba-wtf więcej niż jeden
- 4. Czy w systemie Android można mieć więcej niż jeden plik zasobów ciągów znaków?
- 5. Mysqldump więcej niż jeden stół?
- 6. W jaki sposób Intent może mieć wartość null w onHandleIntent()?
- 7. Kiedy wyjątek AggregateException może zawierać więcej niż jeden wyjątek wewnętrzny?
- 8. „Więcej niż jeden element znalezionych dla lokalizatora” ostrzeżenie
- 9. występuje więcej niż jeden modalview w appdelegate
- 10. JPA ManyToMany, w jaki sposób JoinTable może mieć właściwość?
- 11. Zdarzenia wysłane przez serwer za pomocą Flask/Redis: w jaki sposób więcej niż jeden klient może oglądać strumień?
- 12. W jaki sposób skrypt budujący ANT może zabić proces systemu Windows?
- 13. W jaki sposób aplikacja Ustawienia może uruchomić nieeksportowaną aktywność aplikacji?
- 14. Jak wymienić więcej niż jeden raz?
- 15. W jaki sposób A lewe sprzężenie zewnętrzne B może zwrócić więcej wierszy niż w A?
- 16. W jaki sposób algorytm może mieć dwie najgorsze komplikacje?
- 17. W jaki sposób drukowanie obiektu może mieć inne wyniki niż zarówno str(), jak i repr()?
- 18. W jaki sposób LEFT OUTER JOIN może zwrócić więcej rekordów niż w lewej tabeli?
- 19. Czy możesz mieć więcej niż jeden runloop na wątek na iOS?
- 20. blok synchronizowany - blokuj więcej niż jeden obiekt
- 21. drools: zasady wykonywane więcej niż jeden raz
- 22. django admin więcej niż jeden ForeignKey dla admin.TabularInline
- 23. Alternatywa dla BackgroundWorker, która akceptuje więcej niż jeden argument?
- 24. jQuery: więcej niż jeden uchwyt dla tego samego zdarzenia
- 25. Android - bindService więcej niż raz
- 26. Error: Błąd: Znaleziony element String/photoPickerNotFoundText więcej niż jeden raz
- 27. Czy istnieje najlepszy sposób uniknięcia wykonywania procesu więcej niż jeden raz w Oracle?
- 28. Znaleziono więcej niż jeden plik z niezależną ścieżką systemu operacyjnego "META-INF/LICENSE"
- 29. Kiedy klasa miała więcej niż jeden określony inicjator?
- 30. Czy jeden plik CSS może mieć wyższy priorytet niż inny plik CSS?
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
Link do wpisu na blogu jest martwy, napraw to, ponieważ jest to naprawdę ciekawe. – Jojje
Link pokazuje niektóre rodzaje loterii. Napraw link. – CopsOnRoad