рд▓реЗрдЦ
RxJava2
рд╕рдВрд╕реНрдХрд░рдг
2.0.6
рдФрд░ рдмрд╛рдж рдореЗрдВ
UndeliverableException
рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдХреЛрдИ рдЯрдХрд░рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЙрд╕рдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ - рдореИрдВ рдПрдХ рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реВрдВред рдЙрдиреНрд╣реЛрдВрдиреЗ
RxJava1
рд╕реЗ
RxJava1
рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреЗ рдмрд╛рдж
production
рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред рдореВрд▓ 28 рджрд┐рд╕рдВрдмрд░, 2017 рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рджреЗрд░ рд╕реЗ рдХрднреА рднреА рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдЬрдм рд╣рдо
RxJava
рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рд╕рднреА рдЕрдЪреНрдЫреЗ рдбреЗрд╡рд▓рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░
onError
рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ
RxJava
ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдордиреЗ рдЦреБрдж рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╕реЗ рдмрдЪрд╛рдпрд╛ рд╣реИ, рд╣реИ рдирд╛?
рдирд╣реАрдВ, рд╕рдЪ рдирд╣реАрдВ рд╣реИредрдиреАрдЪреЗ рд╣рдо рдРрд╕реЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ
RxJava
рдЬрд┐рдирдореЗрдВ
RxJava
рдХрд╛рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди
RxJava
рд╣реЛ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА
onError
рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
RxJava
рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░
RxJava
рдмреЗрд╕ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ
RxJava
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ рдЬреЛ рдЧреНрд░рд╛рд╣рдХ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЗрд╕реЗ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
2.0.6
рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:
2.x рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЦреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдХрдореА рд╣реИред рдХрднреА-рдХрднреА рд╕реНрд░реЛрдд рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЕрдиреБрдХреНрд░рдо рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдХрд╣реАрдВ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ RxJavaPlugins.onError
рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдпрджрд┐ RxJava рдореЗрдВ рдПрдХ рдореВрд▓ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдРрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣рдорд╕реЗ рдЫрд┐рдкреА рд╣реЛрдВрдЧреА рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛрдб рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдВрдзреЗрд░реЗ рдореЗрдВ рд╣реЛрдВрдЧреЗред
рд╕рдВрд╕реНрдХрд░рдг
2.0.6
рд╕рд╛рде рд╢реБрд░реВ,
RxJavaPlugins.onError
рд╣реЛрд╢рд┐рдпрд╛рд░ рд╣реЛрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА / рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреАред "рдмрдЧ" рдХреА рд╢реНрд░реЗрдгреА рдХреЗ рд▓рд┐рдП рд╕реМрдВрдкреА рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдмрд╛рдХреА
UndeliverableException
рдореЗрдВ рд▓рд┐рдкрдЯреЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдмреБрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЖрдк рдпрд╣ рд╕рдм рддрд░реНрдХ
рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (
onError
рдФрд░
isBug
)ред
RxJava
рдореЗрдВ рдореБрдЦреНрдп рдЧрд▓рддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ newbies рд╣реИ
OnErrorNotImplementedException
ред рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм
onError
рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдореЗрдВ
onError
рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдпрд╣ рддреНрд░реБрдЯрд┐ рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдмреБрдирд┐рдпрд╛рджреА рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП
RxJava
рдПрдХ "рдмрдЧ" рд╣реИ рдФрд░ рдПрдХ
UndeliverableException
рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред
UndeliverableException
рдЪреВрдВрдХрд┐ "рдмрдЧ" рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдареАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрди рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗред
RxJava
рдПрдХ
RxJava
рдореЗрдВ рдЬреЛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ, рд╡реЗ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рдХреЛ
onError
рдХреНрдпреЛрдВ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЬрд┐рди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╡реЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрд░реЛрдд рдФрд░ рдЧреНрд░рд╛рд╣рдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╣рдо рдпрд╣ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдХреЛрдИ рд╕рдХреНрд░рд┐рдп рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдРрд╕реА рддреНрд░реБрдЯрд┐ рддрдм рд╣реЛрддреА рд╣реИ, рдЬрдм рддреНрд░реБрдЯрд┐ рд╡рд┐рддрд░рд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде zipWith ()
рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдПрдХ
UndeliverableException
рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣
zipWith
ред
val observable1 = Observable.error<Int>(Exception()) val observable2 = Observable.error<Int>(Exception()) val zipper = BiFunction<Int, Int, String> { one, two -> "$one - $two" } observable1.zipWith(observable2, zipper) .subscribe( { System.out.println(it) }, { it.printStackTrace() } )
рд╣рдо рджреЛ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рд╣рдо рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ? рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐
onError
рдХреЛ рджреЛ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣
Reactive streams
рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕
рдХрд░рддрд╛ рд╣реИ ред
рдЯрд░реНрдорд┐рдирд▓ рдЗрд╡реЗрдВрдЯ ( onError
, onCompelete
) рдкрд░ рд╕рд┐рдВрдЧрд▓ рдХреЙрд▓ рдХреЗ рдмрд╛рдж, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХреЛрдИ рдФрд░ рдХреЙрд▓ рди рдХреА рдЬрд╛рдП
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐
onError
рд╕рд┐рдВрдЧрд▓ рдХреЙрд▓ рдХреЗ рд╕рд╛рде
onError
рджреВрд╕рд░реА рдХреЙрд▓ рдЕрдм рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рд╕реНрд░реЛрдд рдореЗрдВ рджреВрд╕рд░реА рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдЗрд╕реЗ
RxJavaPlugins.onError
рддрдХ
RxJavaPlugins.onError
ред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрд▓реНрд╕ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП
zip
рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреЛ
Retrofit
рдХреЙрд▓
Observable
рд▓реМрдЯрд╛рддреЗ рд╣реБрдП)ред рдпрджрд┐ рджреЛрдиреЛрдВ рдХреЙрд▓ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ), рддреЛ рджреЛрдиреЛрдВ рд╕реНрд░реЛрдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг
onError
, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛
onError
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ
onError
, рдФрд░ рджреВрд╕рд░рд╛ рдЖрдзрд╛рд░ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ (
RxJavaPlugins.onError
) рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдмрд┐рдирд╛ ConnectableObservable рдЙрджрд╛рд╣рд░рдг
ConnectableObservable
рднреА рдПрдХ
UndeliverableException
рдмрдврд╝рд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐
ConnectableObservable
рд╕рдХреНрд░рд┐рдп рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЙрдард╛рддрд╛ рд╣реИ, рдмрд╕
connect()
рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред рдпрджрд┐ рдХреЛрдИ рдЧреНрд░рд╛рд╣рдХ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░
ConnectableObservable
рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕реЗ рдЖрдзрд╛рд░ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рддрдХ рдкрд╣реБрдВрдЪрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣рд╛рдБ рдПрдХ рдмрд╣реБрдд рд╣реА рдирд┐рд░реНрджреЛрд╖ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ:
someApi.retrofitCall()
рдпрджрд┐
someApi.retrofitCall()
рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ), рддреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐
RxJava
рдЖрдзрд╛рд░ рддреНрд░реБрдЯрд┐
RxJava
рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХреА
RxJava
ред
рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд▓реНрдкрдирд┐рдХ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ
ConnectableObservable
рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдЬрд╣рд╛рдВ
ConnectableObservable
рдЕрднреА рднреА рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдХреЛрдИ рдЧреНрд░рд╛рд╣рдХ рдирд╣реАрдВ рд╣реИрдВред рдПрдХ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп
autoConnect()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореИрдВ рдЗрд╕ рдкрд░ рдЖрдпрд╛ рдерд╛ред
autoConnect()
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ
autoConnect()
рдЕрдХреНрд╖рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ
Activity
рдХреЗ
onStop
рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░
onStop
, рд▓реЗрдХрд┐рди
Activity
рдХреЗ рд╡рд┐рдирд╛рд╢ рдХреЗ рдмрд╛рдж рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрд▓ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди
onStop
рд╕рд╛рде
UndeliverableException
ред
рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐
рддреЛ рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХреНрдпрд╛ рдХрд░реЗрдВ?
рдкрд╣рд▓рд╛ рдЪрд░рдг рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рд╣реИ рдЬреЛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдЙрдирдХреЗ рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реИрдВред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдк
RxJavaPlugins.onError
рдХреЛ
RxJavaPlugins.onError
рдХрд░рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
zipWith
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдПрдХ рдпрд╛ рджреЛрдиреЛрдВ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рд▓реЗрдирд╛ рд╣реИ рдФрд░ рдЙрдирдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП
рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рддреНрд░реБрдЯрд┐ рдХреЗ рдмрдЬрд╛рдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
onErrorReturn
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
ConnectableObservable
рдЙрджрд╛рд╣рд░рдг рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╣реИ - рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЬрдм рдЖрдк рдЕрдВрддрд┐рдо рдЧреНрд░рд╛рд╣рдХ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк
Observable
рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВред
autoConnect()
, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрддрд┐рднрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓реЗрддрд╛ рд╣реИ рдЬреЛ рдХрдиреЗрдХреНрд╢рди рд╕рдордп рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ (
рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ )ред
рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдЖрдзрд╛рд░ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЕрдкрдиреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рд╣реИред
RxJavaPlugins.setErrorHandler(Consumer<Throwable>)
рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред рдпрджрд┐ рдпрд╣ рд╡рд╣ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИ, рддреЛ рдЖрдк
RxJavaPlugins.onError
рднреЗрдЬреА рдЧрдИ рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдлрд┐рдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐
RxJavaPlugins.onError
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рднреА
RxJava
рдзрд╛рд░рд╛рдУрдВ рд╕реЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдирд╛
emitter.tryOnError()
рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк
emitter.tryOnError()
рдмрдЬрд╛рдп
emitter.tryOnError()
рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рдзрд┐ рддрднреА рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреА рд╣реИ рдЬрдм рдзрд╛рд░рд╛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рд╕рджрд╕реНрдп рд╣реЛрддреЗ рд╣реИрдВред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдиреИрддрд┐рдХ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ RxJava рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ рдпрджрд┐ рдЖрдк рдмрд╕ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░реНрд╕ рдореЗрдВ
onError
рдХреЛ рд▓рд╛рдЧреВ
onError
ред рдЖрдкрдХреЛ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рдирдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред