@android_ru

Страница 193 из 3205
Vitaliy
09.09.2016
20:43:02
в 2016 странно это не знать
Кстати, зайди и почитай, что Котлин генерирует

Stas
09.09.2016
20:43:09
читаю

"и чо"

Egor
09.09.2016
20:43:42
я думаю там генериться не хуже моего говнокода )

Google
Gregory
09.09.2016
20:43:50
архитектура компов не менялась уже лет 30, почему должны меняться способы разработки

Vitaliy
09.09.2016
20:43:55
Ну это как посмотреть

Там генерится безопасный код

Vitaliy
09.09.2016
20:44:22
Но при этом не всегда достаточно быстрый

Вьюшки я бы точно не стал на нём писать

Я даже компилятор Котлина для этого патчил когда-то

Gregory
09.09.2016
20:44:55
это как? мобильных 30 лет назад не было
но принцип-то тот же, разница только в энергопотреблении копмонентов, их размерах и других устройствах ввода

Egor
09.09.2016
20:45:44
не правда, все время растут требования к точности, к скорости и тд, отсюда надо искать новые подходы разработки, менять, пробовать, обновлять

Gregory
09.09.2016
20:46:22
ага, а ещё процессоры становятся мощнее, и для того, чтобы это компенсировать, мы используем фреймворки

Egor
09.09.2016
20:46:27
когда писали под одно ядро - все ок, потом под 10 - уже новое, но ок, теперь по 100000000 - думаешь старые варианты работают также?

Egor
09.09.2016
20:47:33
синхронизация, тот же ВК, биг дата, он невероятно круто работает

Google
Gregory
09.09.2016
20:48:52
в том смысле, что тратим процессорное время на всякую лишнюю хероту, без которой можно было бы обойтись

например, на пересоздание активити при повороте экрана

или на dependency injection

Sergey
09.09.2016
20:50:08
например, на пересоздание активити при повороте экрана
Ну раз Гугл так сделал, и еще не поменял, значит есть на это причины

Nikolay
09.09.2016
20:50:34
http://xkcd.ru/i/664_v1.png

Gregory
09.09.2016
20:50:37
неужели тебе не интересно выяснить, какие именно там причины?

я вот так вот не могу принять на веру, мне всегда надо докопаться до истины

Stas
09.09.2016
20:51:50
суть ооп не в этом

Sergey
09.09.2016
20:51:51
Roman
09.09.2016
20:51:52
неужели тебе не интересно выяснить, какие именно там причины?
так разве не то, что в ландшафтной ориентации может быть другой layout?

Grigoriy
09.09.2016
20:52:07
Ну раз Гугл так сделал, и еще не поменял, значит есть на это причины
то есть погоди, ты сохраняешь и восстанавливаешь состояния только потому что гугл так сказал??

Gregory
09.09.2016
20:52:07
Grigoriy
09.09.2016
20:52:17
а если гугл скажет с крыши спрыгнуть и вот это вот всё

Gregory
09.09.2016
20:52:23
ЛОЛ

тоже Григорий и тоже дело говорит ??

Roman
09.09.2016
20:53:28
Gregory
09.09.2016
20:53:56
а никто и не спорит =)
дааааа, но зачем все пересоздают активити тогда, когда это не требуется? :)

Roman
09.09.2016
20:54:52
ну его фреймворк пересоздает вообще-то. а нам приходится искать выход из этого дерьма

=)

Google
Stas
09.09.2016
20:54:57
вы пишете свои велосипеды, которые экран на 90 градусов вертит?

Gregory
09.09.2016
20:54:57
вот в ВК активити аудиоплеера пересоздаётся при повороте, потому что там действительно сильно разный лэяут, но она достаточно лёгкая

Grigoriy
09.09.2016
20:55:33
вы пишете свои велосипеды, которые экран на 90 градусов вертит?
у тебя часто меняются лэйауты/ресурсы в зависимости от ориентации?

вот и ответ

Gregory
09.09.2016
20:55:45
вот да

повторю, в приложении ВК таких экранов аж целый один из, наверное, сотни

Grigoriy
09.09.2016
20:56:08
бесспорно такие кейсы есть, но они не повсеместно

Roman
09.09.2016
20:56:10
выход есть, одна строчка в манифесте
это тебя не защищает от поворота и как правильно сказал @punksta не позволяет таки сделать поворот экрана

Gregory
09.09.2016
20:56:32
это тебя не защищает от поворота и как правильно сказал @punksta не позволяет таки сделать поворот экрана
в смысле блин не защищает, активити поворачивается, она просто РЕСАЙЗИТСЯ

Vitaliy
09.09.2016
20:56:40
Gregory
09.09.2016
20:56:49
прикиньте, активити можно ресайзить без пересоздания!

Gregory
09.09.2016
20:56:52
breaking news

Egor
09.09.2016
20:56:55
филосовский спор )

Vitaliy
09.09.2016
20:56:59
Но зачем инстанс-то гробить

Roman
09.09.2016
20:57:17
хорошо, ок. но где гарантия что она не пересоздастся? есть куча случаев когда это может произойти

Grigoriy
09.09.2016
20:57:18
прикиньте, активити можно ресайзить без пересоздания!
тише-тише, сейчас пацаны поймут, что оказывается можно обработать изменение конфигурации так как хочется!

Roman
09.09.2016
20:57:45
можно на них забить - согласен. но кто-то просто не хочет это делать

Gregory
09.09.2016
20:57:50
Мы Гриши, и мы не любим делать лишнее

можно на них забить - согласен. но кто-то просто не хочет это делать
казалось бы, не пересоздавать активити (и не сохранять-восстанавливать состояние) проще, чем это делать

Google
Roman
09.09.2016
20:59:16
казалось бы, не пересоздавать активити (и не сохранять-восстанавливать состояние) проще, чем это делать
ну так не все хотят чтобы приложение теряло стейт каждый раз когда андроид прибил активити в фоне из-за нехватки памяти

Grigoriy
09.09.2016
20:59:26
можно на них забить - согласен. но кто-то просто не хочет это делать
особенно те ребята, у которых нет лэйаутов и ресурсов под отличные от дефолтной конфигурации.

Gregory
09.09.2016
20:59:34
ну так не все хотят чтобы приложение теряло стейт каждый раз когда андроид прибил активити в фоне из-за нехватки памяти
ну так интент тебе всё равно потом дадут тот же, которым запускали, а что ещё надо?

Roman
09.09.2016
20:59:46
а стейт то ты не сохранил

а если сохранил и умеешь восстанавливать, то код вообще одинаковый в обоих случаях )

Gregory
09.09.2016
21:01:02
далеко не всегда стейт можно сложить в bundle

Grigoriy
09.09.2016
21:01:07
ща дойдем до onRetainNonConfigurationInstance?

Roman
09.09.2016
21:01:28
далеко не всегда стейт можно сложить в bundle
ну это сильно частный случай

Gregory
09.09.2016
21:01:38
если у меня там куча каких-нибудь сложных объектов с объектами внутри с объектами внутри с объектами внутри с объектами внутри, то это нельзя просто так взять ? и "сохранить стейт"

пример из реальной жизни — объект поста в том же ВК

Admin
ERROR: S client not available

Grigoriy
09.09.2016
21:02:00
о, видимо дошли

Roman
09.09.2016
21:02:02
можно, просто геморно

Vitaliy
09.09.2016
21:02:06
А вот кстати, расскажите, что вы используете для передачи результата асинхронной операции после уничтожения активити

Какие вообще есть решения?

У вас

Gregory
09.09.2016
21:02:20
пример из реальной жизни — объект поста в том же ВК
(хотя именно он умеет себя сериализовать, на самом деле)

Roman
09.09.2016
21:02:27
Vitaliy
09.09.2016
21:02:38
Только без лоадера, он для БД

Roman
09.09.2016
21:02:57
Только без лоадера, он для БД
например rx это умеет из коробки через оператор cache

Google
Vitaliy
09.09.2016
21:03:31
А, то есть кэш, ок

Gregory
09.09.2016
21:03:47
с другой стороны, если активити уничтожена и пересоздана, то откуда она будет знать, что ей вообще когда-то в прошлой жизни был нужен этот результат? =)

Vitaliy
09.09.2016
21:03:48
Много кода

Gregory
09.09.2016
21:03:52
Оверхэд
это была шутка

Roman
09.09.2016
21:04:49
А, то есть кэш, ок
если это тупо данные, то можно просто их положить в бд и потом прочитать, когда надо. если это объекты в памяти, то rx очень легко решает

Roman
09.09.2016
21:05:29
смотря как напишешь )

придержать активити дело не хитрое ))

Vitaliy
09.09.2016
21:06:05
А как надо? Любая лямбда же будет ссылку на активити держать

Stas
09.09.2016
21:06:18
ну их gc и убьет вмести

Vitaliy
09.09.2016
21:06:30
Вы их в статике пишете, что ли? Или там ссылки слабые?

Stas
09.09.2016
21:06:38
некорневые циклы очищаются

Gregory
09.09.2016
21:06:40
если это тупо данные, то можно просто их положить в бд и потом прочитать, когда надо. если это объекты в памяти, то rx очень легко решает
ещё я слышал, что некоторые так работают с апи: 1. сделать запрос 2. распарсить ответ 3. положить результат в базу (!) 4. прочитать из базы обратно (!!) 5. отобразить в интерфейсе

Stas
09.09.2016
21:06:48
очевидно же

Gregory
09.09.2016
21:07:35
а, да, и для отображения в интерфейсе ещё обязательно прокинуть курсор от базы в активити/фрагмент и читать из него прямо в момент биндинга данных в вьюху ??

Vitaliy
09.09.2016
21:08:27
Ну так целый адаптер есть

Roman
09.09.2016
21:09:32
ну их gc и убьет вмести
не убьет, если у тебя обзервабл во вне активити сохранен

Stas
09.09.2016
21:09:48
ну кек, не надо так)

Roman
09.09.2016
21:09:56
ну кек, не надо так)
а как получать потом кэш будешь?

Страница 193 из 3205