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



Download 21,53 Mb.
Pdf ko'rish
bet406/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   402   403   404   405   406   407   408   409   ...   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner

retainInstance = true
...
}
...
}
(Обычно следует избегать сохранения фрагментов. Мы
будем делать это только здесь, потому что сохранение
фрагмента упрощает реализацию и позволяет нам
сконцентрироваться на изучении того, как работает
HandlerThread
. Подробнее о последствиях сохранения
фрагмента вы узнаете позже в разделе «Сохраненные
фрагменты».)
Теперь, когда фрагмент сохранен, нужно запускать поток
при 
вызове 
функции
PhotoGalleryFragment.onCreate(...)
и завершать его при
вызове 
функции 
PhotoGalleryFragment.onDestroy()
.
Этого можно добиться, добавив код непосредственно в
функции жизненного цикла 
PhotoGalleryFragment
, но это
избыточно усложнит класс. Вместо этого абстрагируйте код в
ThumbnailDownloader

сделав 
жизненный 
цикл
ThumbnailDownloader
публичным.


Компонент, наблюдающий за жизненным циклом —
наблюдатель, — наблюдает за жизненным циклом владельца
жизненного цикла. Activity и фрагмент являются владельцами
жизненного цикла — у них есть жизненный цикл и реализуется
интерфейс 
LifecycleOwner
.
Добавьте в 
ThumbnailDownloader
реализацию интерфейса
LifecycleObserver
и 
наблюдение 
за 
функциями
onCreate(...)
и 
onDestroy
владельца жизненного цикла.
Пусть загрузчик эскизов запускает сам себя при вызове
onCreate(...)
и останавливается при вызове функции
onDestroy()
.
Листинг 25.9. Связь ThumbnailDownloader с жизненным
циклом (ThumbnailDownloader.kt)
private const val TAG = "ThumbnailDownloader"
class ThumbnailDownloader
: HandlerThread(TAG), LifecycleObserver {
private var hasQuit = false
override fun quit(): Boolean {
hasQuit = true
return super.quit()
}

Download 21,53 Mb.

Do'stlaringiz bilan baham:
1   ...   402   403   404   405   406   407   408   409   ...   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