Reactive Programming on Android with RxJava



Download 1,47 Mb.
Pdf ko'rish
bet23/60
Sana20.04.2022
Hajmi1,47 Mb.
#566724
1   ...   19   20   21   22   23   24   25   26   ...   60
Bog'liq
reactiveandroid

Cold vs. Hot Observable
An
Observable
is considered cold if it is not actively emitting items; it only starts emitting
items when it is subscribed to. Each subscription to a cold
Observable
will cause it to emit the
underlying sequence from beginning to end for each
Observer
. Note, however, that the exact values
of the sequence may differ for each
Observer
, depending on the underlying action the
Observable
encapsulates as we’ll see in the
next section
.
Generally, a cold
Observable
is what you would want if you want a complete copy of events emitted
in the stream. It is what you want for operations that should only be invoked when subscribed to:
network operations, database queries, file I/O, etc.
Looking at
.just()
as an example, we see that the sequence is repeated on each subscription:
1
Observable observable
=
Observable
.
just
(
"A"
,
"B"
,
"C"
,
"D"
,
"E"
);
2
3
// observer 1
4
observable
.
subscribe
(
val
-> {
5
// "A", "B", "C", "D", "E" will be received in order
6
});
7
8
// observer 2
9
observable
.
subscribe
(
val
-> {
10
// Again, "A", "B", "C", "D", "E" will be received in order
11
});
While cold
Observable
s are subscriber-dependent, hot
Observable
s on the other hand, are not. They
have their own timelines and actively emit items regardless if there are any subscribers. An
Observer
would receive events starting from the point of subscription and wouldn’t receive any of the events
emitted prior to subscription. Hot
Observable
s model processes that are temporal: a click event, an
event bus, etc.


Chapter 2: RxJava Core Components
24
Hot Observable
It is important to know whether or not a given
Observable
is cold or hot as it informs you on what
type of operations you should consider. For example, you might want to avoid
Operator
s that cache
and aggregate emissions from hot
Observable
s given that these type of
Observable
s can in theory
produce an unlimited number of events (see
). We will take a look more at hot Observables
in
.
Lazy Emissions
An intrinsic property of a cold
Observable
is that it is
lazy
–the underlying sequence is only
computed and emitted on subscription time. To demonstrate this, let’s look at another
Observable
creation method
.fromCallable()
:

Download 1,47 Mb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   60




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