Size: a a a

Android Developers

2020 April 20

М

Миронов Борис... in Android Developers
Quantum Harmonizer
Надеюсь, все понимают, что это идеальный пример того, как делать не надо.
Почему?
источник

ЯН

Ярослав Нестеров... in Android Developers
Quantum Harmonizer
Надеюсь, все понимают, что это идеальный пример того, как делать не надо.
+почему
источник

QH

Quantum Harmonizer in Android Developers
источник

QH

Quantum Harmonizer in Android Developers
потому что нужно хоть немножечко представлять, как работает инструмент, которым пользуешься
источник

QH

Quantum Harmonizer in Android Developers
в by lazy хорошо заворачивать какое-нибудь IO. А в случае с findViewById, сам lazy оказывается дороже, чем непосредственная инициализация в onCreate
источник

ЯН

Ярослав Нестеров... in Android Developers
1 проблема только в фрагментах, в которых вью пересоздаётся
2 проблема syncronized решается передачей в lazy флага NONE
источник

ЯН

Ярослав Нестеров... in Android Developers
Quantum Harmonizer
в by lazy хорошо заворачивать какое-нибудь IO. А в случае с findViewById, сам lazy оказывается дороже, чем непосредственная инициализация в onCreate
и вообще можно свой аналог написать
источник

QH

Quantum Harmonizer in Android Developers
Ярослав Нестеров
1 проблема только в фрагментах, в которых вью пересоздаётся
2 проблема syncronized решается передачей в lazy флага NONE
первая — это какая? synchronized решается, но получается слишком длинно. А анонимный класс и дорогой объект проперти остаются.
источник

QH

Quantum Harmonizer in Android Developers
Ярослав Нестеров
и вообще можно свой аналог написать
можно, но в нём есть пара багов
источник

ЯН

Ярослав Нестеров... in Android Developers
Quantum Harmonizer
можно, но в нём есть пара багов
могу только один предложить
не, если использовать только внутри других View, то не вижу багов
источник

DE

Denis Egorov in Android Developers
Ярослав Нестеров
и вообще можно свой аналог написать
findViewById может null вернуть
источник

AD

Aleksey D. in Android Developers
привет! при Don’t Keep Activities = true результаты после startActivityForResult не долетают до вызывающего экрана. есть ли какой-то способ это починить?

или… может, этого не бывает на реальных девайсах?
источник

ЯН

Ярослав Нестеров... in Android Developers
Denis Egorov
findViewById может null вернуть
если там нул, значит разраб накосячил и пусть делает так, чтобы там не было нула
источник

QH

Quantum Harmonizer in Android Developers
0. Очередной indirection с прыжками по указателям. Впрочем, у стокового lazy та же проблема.
1. Если вьюха опциональная, то оно всю жизнь будет считать себя неинициализированным и на каждый get снова искать её.
2. Запись ссылки на каждое чтение (записи ссылок дороже, чем записи примитивов, из-за write-барьеров)
3. Как озвучил Денис, тип заявлен как не-нуллабельный, а по факту...
источник

ЯН

Ярослав Нестеров... in Android Developers
Quantum Harmonizer
0. Очередной indirection с прыжками по указателям. Впрочем, у стокового lazy та же проблема.
1. Если вьюха опциональная, то оно всю жизнь будет считать себя неинициализированным и на каждый get снова искать её.
2. Запись ссылки на каждое чтение (записи ссылок дороже, чем записи примитивов, из-за write-барьеров)
3. Как озвучил Денис, тип заявлен как не-нуллабельный, а по факту...
1 вот тут не понял, тут либо инициализация не нулом либо исключение
2 помоему это мелочи, мы же не на с++ драйвера пишем)
источник

DE

Denis Egorov in Android Developers
Ярослав Нестеров
и вообще можно свой аналог написать
а чем это лучше котлиновского lazy?
источник

ЯН

Ярослав Нестеров... in Android Developers
Ярослав Нестеров
1 вот тут не понял, тут либо инициализация не нулом либо исключение
2 помоему это мелочи, мы же не на с++ драйвера пишем)
чё по факту? чё? я как разработчек должен позаботиться о том, чтобы вьюхи, которые я ищу, были не нул, иначе значит я где-то накосячил и должен получить в лоб исключение!
источник

ЯН

Ярослав Нестеров... in Android Developers
потому что кейсов, когда вью опциональна лично в моём проекте нет, на работе в компании в одном только месте
источник

QH

Quantum Harmonizer in Android Developers
чё по факту: опа нихуя. Ты удалил гланды через анус, получилось так себе.
источник

ЯН

Ярослав Нестеров... in Android Developers
зачем предусматривать null, если должно быть не null, а его наличие == косяк разраба?
источник