tgoop.com/android_live/585
Last Update:
ββIPC Π² Android
#theory
IPC β ΡΡΠΎ ΠΏΠΎΠ½ΡΡΠΈΠ΅, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ΅Π΅ ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΎ ΡΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² ΡΠ°ΠΌΠΊΠ°Ρ
Android, ΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡ
Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π·Π°ΠΏΡΡΠ΅Π½Ρ Π² ΡΠ°Π·Π½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ
).
ΠΠΎΠ΄Π΅Π»ΡΡΡ Ρ Π²Π°ΠΌΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΠ°ΡΡΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΊΠ°ΠΆΡΡ ΠΏΡΠΎ ΡΡΡ Π½Π΅Π΄ΠΎΠΎΡΠ΅Π½ΡΠ½Π½ΡΡ ΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠ΅.
Π Android ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ΠΎΠ² ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ:
πΉAIDL β ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈ ΡΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ½Π°ΡΠ΅ β RPC (Remote Procedure Call). Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ. Π Π°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ½, ΠΊΡΡΠ°ΡΠΈ, ΠΊΠ°ΠΊ Android-IDL (Interface Definition Language). ΠΠΎ ΡΠ°ΠΊΡΡ, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ
Π±Π°Π·ΠΎΠ²ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅. ΠΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΡΠΌ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ.
πΉMessenger β ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ, ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΡΡ ΠΆΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΠ³ΠΎ Π»Π΅Π³ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΠΎ ΡΡΡΠΈ ΡΠΎΠ·Π΄Π°ΡΡ AIDL Π·Π° Π²Π°Ρ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π½Π΅ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π΄Π΅Π»Π°ΡΡ Π»ΠΈΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΠ°Π²Π΄Π°, ΡΠ΅Π½Π° ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΡΠΎΡΡ β ΠΌΠ΅Π½ΡΡΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ AIDL. ΠΠΎΡΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ.
πΉBroadcast β Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². Broadcast ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ BroadcastReceiver
. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π°ΡΠΈΡ
Broadcast, ΠΈΡ
ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Π² AndroidManifest. ΠΠ΅ΡΠ°Π»ΡΠ½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΡΡ.
BY Android Live π€

Share with your friend now:
tgoop.com/android_live/585