
Ⓜ️ᵃʳᵃᵗ
13.12.2016
18:06:13

Ilya
13.12.2016
18:11:00
Ребят, а javascript, показываемый в webview, закэшировать можн? Как-нибудь там библиотеки подтягивающиеся подтянуть в офлайн

Quantum Harmonizer
13.12.2016
18:11:48
Да, WebViewClient или WebChromeClient может перехватывать запросы, делал так предзагрузку картинок из веб-страницы.

Ilya
13.12.2016
18:13:26

Google

Quantum Harmonizer
13.12.2016
18:14:33

Vitaliy
13.12.2016
20:40:19

J
13.12.2016
20:40:57
благословляю тебя

Sasha
13.12.2016
20:41:22

Quantum Harmonizer
13.12.2016
21:21:33

Vitaliy
13.12.2016
21:21:52
А ты знаешь, чем плох банальный for?

Quantum Harmonizer
13.12.2016
21:24:32

Vitaliy
13.12.2016
21:25:23
Вот блин, начинаете рассуждать о конструкции языка и блаблабла, когда вас спрашивают о чем-то конкретном
Так там for или foreach?
Автобоксинг тоже фича языка, и сколько раз люди лажали с ним

Глеб
13.12.2016
21:27:22
а о чем спор идет? Как сэкономить микросекунды?

Quantum Harmonizer
13.12.2016
21:27:46

Google

Vitaliy
13.12.2016
21:27:58
Можно просто в исходники

Quantum Harmonizer
13.12.2016
21:28:04

Vitaliy
13.12.2016
21:28:07
Короче говоря, там foreach, который создает итератор
Вот именно, что нужно знать и понимать, как в языке и что работает
А у нас чаще всего берут Котлин, потому что модно, и пишут код, особо не задумываясь

Глеб
13.12.2016
21:30:29

Quantum Harmonizer
13.12.2016
21:31:20

Vitaliy
13.12.2016
21:32:26
Я уже устал от таких товарищей :(
Проблема Котлина в том, что он не дает вам больше никаких средств итерации из коробки.
Только по индексам, которыми никто не будет пользоваться
И проверки эти, которые экономят миллисекунды, в большинстве случаев можно(и нужно!) делать на этапе компиляции. Или хотя бы давать юзеру возможность выбрать.
Посмотрите в его байт код, чтобы увидеть, что они на каждый чих выполняются

Quantum Harmonizer
13.12.2016
21:34:40

Vitaliy
13.12.2016
21:35:05
Я стараюсь в первую очередь эти основы и проверять :)

balolam
13.12.2016
21:35:06

Vitaliy
13.12.2016
21:35:17
Нельзя
Можно взять исходники компилера и форкнуть их
И в этом случае да, Котлин таки превращается в быстрый язык

balolam
13.12.2016
21:36:12
Нельзя
Да можно же, презентацию видел и там четко сказали, что если хотит оставить все в compile time то пожалуйста

Google

Vitaliy
13.12.2016
21:36:32
Если написать свои extension-functions для итерации коллекций

Глеб
13.12.2016
21:37:02
но все-же, секундочку, что такого надо крутить в приложении, чтобы словить заметное влияние оверхеда от котлина?

Vitaliy
13.12.2016
21:37:02
В lateinit они все ещё остаются, например

balolam
13.12.2016
21:37:09

Vitaliy
13.12.2016
21:37:15
Да просто итерировать drawable в onDraw
И будет нехилый fps drop при скролле

balolam
13.12.2016
21:38:07
Да подставит он обычный индекс если сможет, тоже норм с этим

Глеб
13.12.2016
21:38:24
а для чего свои onDraw в рядовом приложении?
даже не так, можно-ли поиметь проблемы в более распространенных ситуациях?

balolam
13.12.2016
21:39:51
Если где-то медленно - напиши на Java кусок и не беспокойся)

Vitaliy
13.12.2016
21:42:11
См. исходники
У них даже объяснение есть этому, это безопаснее(в этом они правы)
Но выбор у юзеров должен быть
В Котлине огромная часть стдлибы использует итераторы
Попробуйте с наскока сказать, какая

Quantum Harmonizer
13.12.2016
21:44:04
Collections.kt? :)

Vitaliy
13.12.2016
21:44:14

Google

Vitaliy
13.12.2016
21:44:31

Admin
ERROR: S client not available

Глеб
13.12.2016
21:45:13

Quantum Harmonizer
13.12.2016
21:45:36
См. исходники
Как-то не нахожу. :|
https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/collections/Collections.kt

Глеб
13.12.2016
21:45:38

Vitaliy
13.12.2016
21:45:52
Ну видимо тебе с приложениями везло, не знаю :)

Quantum Harmonizer
13.12.2016
21:46:14
.

Глеб
13.12.2016
21:47:45

Vitaliy
13.12.2016
21:47:58
в корне не верное утверждение
Ну и пиши приложения, которые аццки лагают на большинстве устройств. У тебя ведь топовый девайс.
Вы забываете, что вы пишете в первую очередь для юзеров. Хоть у кого-то есть приложение, которое работает в 60 fps? Как айфон или Телеграм.
Но вообще из логика понятна, итератор и правда безопаснее
Мы почти договорились получить альтернативную stdlib с индексами :)
Может и сделают скоро, они согласились с идеей

Quantum Harmonizer
13.12.2016
21:49:14

Vitaliy
13.12.2016
21:50:04
Например, итерация и одновременное удаление из коллекции -- очень легко допустить ошибку в индексах
Не для всех коллекций доступ по индексу быстрее будет

Google

Vitaliy
13.12.2016
21:50:29
Не у всех коллекций такое вообще есть :)
Ну и многопоточность

Quantum Harmonizer
13.12.2016
21:51:04

Vitaliy
13.12.2016
21:51:40
У Котлина есть только одно место, где он быстрее :)

Quantum Harmonizer
13.12.2016
21:51:49
Ну и многопоточность
любой адекват должен сделать копию коллекции, если он понимает, что синхронизация между разными get() не сохраняется

Глеб
13.12.2016
21:52:45
Думаю, утверждение заключалось не в том, что «буду писать на чём вздумается», а в том, что утверждение так себе: у многих языков / компиляторов есть быстрые / медленные места (если не это медленный груви, например).
нет, суть была в том, что писать можно на чем угодно, главное понимать, где тебя поджидает западло. А если следовать логике "чем быстрее язык, тем лучше" - то прямая дорога писать на С
я так года два назад думал, потом мне пояснили в чем не прав

Quantum Harmonizer
13.12.2016
21:53:43

Vitaliy
13.12.2016
21:53:54
Инлайн лямбд