@android_ru

Страница 668 из 3205
Ⓜ️ᵃʳᵃᵗ
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 может перехватывать запросы, делал так предзагрузку картинок из веб-страницы.

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
drawableCollection.forEarch { it.draw(canvas); } И создай список из таких вьюх
И во что оно развернётся? Мне кажется, в банальный for.

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

Quantum Harmonizer
13.12.2016
21:24:32
А ты знаешь, чем плох банальный for?
For бывают разные. Банальный for восхитителен, потому что это одна из базовых конструкций языка.

А ты знаешь, чем плох банальный for?
У foreach с Iterable есть проблема, да.

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

Так там for или foreach?

Автобоксинг тоже фича языка, и сколько раз люди лажали с ним

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

Quantum Harmonizer
13.12.2016
21:27:46
Так там for или foreach?
Так это ж надо в байт-код смотреть.

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
это высказывание применимо к любому языку, фреймворку и библиотеке
Именно так. Поэтому вначале надо разбираться в основах, а потом уже лезть в эти библиотеки и языки. Люди зачастую говорят, что Rx знают, а сами не понимают, зачем SparseArray нужен

Я уже устал от таких товарищей :(

Проблема Котлина в том, что он не дает вам больше никаких средств итерации из коробки.

Только по индексам, которыми никто не будет пользоваться

И проверки эти, которые экономят миллисекунды, в большинстве случаев можно(и нужно!) делать на этапе компиляции. Или хотя бы давать юзеру возможность выбрать.

Посмотрите в его байт код, чтобы увидеть, что они на каждый чих выполняются

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 для итерации коллекций

Да можно же, презентацию видел и там четко сказали, что если хотит оставить все в compile time то пожалуйста
Они говорят, что можно, но этот флаг только для нескольких кейсов их отключает

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

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

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
а для чего свои onDraw в рядовом приложении?
А сколько ты вообще пишешь? Почти всегда в приложениях нужно писать кастомные drawable и Views.

Google
Vitaliy
13.12.2016
21:44:31
Collections.kt? :)
И не только :)

Если где-то медленно - напиши на Java кусок и не беспокойся)
Если на языке нельзя писать быстрый код, зачем он нужен?)

Admin
ERROR: S client not available

Глеб
13.12.2016
21:45:13
А сколько ты вообще пишешь? Почти всегда в приложениях нужно писать кастомные drawable и Views.
два с половиной года писательствую и ни разу не использовал свой onDraw

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
Если на языке нельзя писать быстрый код, зачем он нужен?)
Можно. Там полно быстрых штук — тот же lazy, который в Java задрочишься реализовывать.

Если на языке нельзя писать быстрый код, зачем он нужен?)
Да и в Java очень легко нарваться на итераторы?

.

Глеб
13.12.2016
21:47:45
Ну видимо тебе с приложениями везло, не знаю :)
попадались задроченные задачи, где, на первый взгляд, надо было-бы сделать свой onDraw, но я всячески обходил эту дичь, ибо очень стремный путь

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
Ну и пиши приложения, которые аццки лагают на большинстве устройств. У тебя ведь топовый девайс. Вы забываете, что вы пишете в первую очередь для юзеров. Хоть у кого-то есть приложение, которое работает в 60 fps? Как айфон или Телеграм.
Думаю, утверждение заключалось не в том, что «буду писать на чём вздумается», а в том, что утверждение так себе: у многих языков / компиляторов есть быстрые / медленные места (если не это медленный груви, например).

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
Инлайн лямбд

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