Android. Программирование для профессионалов. 4-е издание


developer.android.com/guide/components/broadcast-exceptions



Download 21,53 Mb.
Pdf ko'rish
bet476/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   472   473   474   475   476   477   478   479   ...   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner

developer.android.com/guide/components/broadcast-exceptions
.
Как вы уже видели во время работы над этой главой,
трансляции, отправленные с разрешением на уровне подписи,
тоже лишены этого ограничения. Это позволяет вам
продолжать использовать автономные широковещательные
приемники, которые являются частными для вашего
приложения и любых других приложений, которые вы делаете с
использованием той же подписи. Поскольку только приложения
от одного разработчика имеют разрешение на отправку этих
трансляций, маловероятно, что в других частях системы
возникнут проблемы с производительностью, вызванные
такого рода трансляциями.
Для любознательных: проверка видимости фрагмента
Немного поразмыслив над реализацией PhotoGallery, мы
видим, что глобальный механизм широковещательной
рассылки 
использовался 
для 
рассылки 
интента


SHOW_NOTIFICATION
. При этом получение рассылки при
помощи разрешений ограничивается элементами, локальными
для вашего приложения. Возникает естественный вопрос:
почему я использую глобальный механизм, если просто
передаю данные в своем приложении? Разве не логичнее
использовать локальный механизм?
Дело в том, что мы намеренно пытались решить задачу
проверки того, виден фрагмент 
PhotoGalleryFragment
или
нет. Для достижения цели мы воспользовались комбинацией
упорядоченных рассылок, автономных приемников и
динамически регистрируемых приемников. В Android
существует и более прямолинейное решение этой задачи.
Если говорить конкретно, 
LocalBroadcastManager
не
подходит для широковещательных оповещений PhotoGallery и
проверки видимости фрагментов по двум причинам.
Во-первых, 
LocalBroadcastManager
не поддерживает
упорядоченные широковещательные рассылки (хотя и
предоставляет механизм широковещательной рассылки с
блокировкой, а именно 
sendBroadcastSync(Intent)
). Он не
подойдет 
для 
PhotoGallery, 
потому 
что 
приемник
NotificationReceiver
должен гарантированно выполняться
последним в цепочке.
Во-вторых, 
sendBroadcastSync(Intent)
не
поддерживает отправку и получение широковещательных
интентов в разных потоках. В PhotoGallery интент должен
отправляться из фонового потока (в 
PollWorker.doWork()
), а
приниматься в главном потоке (динамическим приемником,
зарегистрированным 
PhotoGalleryFragment
, в главном
потоке в 
onStart(...)
).
На момент написания книги семантика потоковой доставки
LocalBroadcastManager
была плохо документирована, и, по
нашему опыту, ей не хватало логичности. Например, при


вызове 
sendBroadcastSync(...)
из фонового потока все
необработанные рассылки будут выданы в фоновый поток
независимо от того, были ли они отправлены из главного
потока.
Это не значит, что механизм 
LocalBroadcastManager
бесполезен. Просто этот инструмент не подходит для задач,
которыми мы занимались в этой главе.



Download 21,53 Mb.

Do'stlaringiz bilan baham:
1   ...   472   473   474   475   476   477   478   479   ...   485




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish