
Глеб
06.12.2016
08:15:03

Stas
06.12.2016
08:15:48
что-бы писать на скале, нужно думать
котлин легкий пи*дец.

Глеб
06.12.2016
08:16:38
именно так. И не просто думать, а прям ДУМАТЬ. А котлин он простенький такой, жмяк-хряк и готово, работает, не падает, идиллия...

Google

Глеб
06.12.2016
08:16:58
только ветерок прохладный поддувает и всё время жду подвоха

Stas
06.12.2016
08:17:08
и достаточно ограниченный на типы. Это джава с красивым синтаксисом)

Глеб
06.12.2016
08:18:12
Больше похоже на питон в яве

tirips
06.12.2016
08:20:04

Глеб
06.12.2016
08:21:36
ахах
просто я как-то пробовал скалу в связке с Play (веб-фреймворк) чисто для "язык пощупать".
Настрелялся в собственноую ногу на всю грядущую жизнь

Alexandr
06.12.2016
08:26:31

Глеб
06.12.2016
08:26:54
согласен, вышло очень круто

Ⓜ️ᵃʳᵃᵗ
06.12.2016
08:27:21

Gerc
06.12.2016
08:59:49
Слишком круто, что аж все слипается от сахарного синтаксиса и может в один момент все так рухнуть и бабахнуть вся эта куча хипстоты

Max
06.12.2016
09:04:09
Лучше бы поддержку Go полноценную запилили

Sergey
06.12.2016
09:05:06

Quantum Harmonizer
06.12.2016
09:06:08
Поддержку где?

Google

Roman
06.12.2016
09:06:30
Есть ли гоферы в Андроид разработке?

Max
06.12.2016
09:06:33
Юзали у нас котлин, потом проект передаешь новому человеку а он не понимает что это и зачем.
Да и я не понимаю зачем это, лишняя жвачка для jvm, никаких изменений

I
06.12.2016
09:06:52

Max
06.12.2016
09:07:18
У меня либа на go в проекте есть, картинки обрабатывает. Собрана через gomobile на коленке

Quantum Harmonizer
06.12.2016
09:07:36

Sergey
06.12.2016
09:07:41
из retrofit-a сразу в realm реально на лету передавать объекты ?
Не подскажите, как правильно организовать кеширование на realm+retrofit
(или по каким словам гуглить? )

Quantum Harmonizer
06.12.2016
09:08:01
copyToRealm()

Max
06.12.2016
09:08:36

Quantum Harmonizer
06.12.2016
09:10:23
Разрабатывая под Android, я никогда не жаловался на синтаксис Java.
Но когда я увидел код IntelliJ IDEA, я сразу понял, в каких частях кода у людей бомбило от Java и почему они решили что-то менять :)

Максим
06.12.2016
09:11:59

Quantum Harmonizer
06.12.2016
09:12:10
ищу сейчас)

Eugene
06.12.2016
09:15:14
Никогда не понимал нытья на тему "зачем нужен этот котлин, этого же всего лишь сахар"

Alexey
06.12.2016
09:16:07

Eugene
06.12.2016
09:16:15
Если есть инструмент, который делает жизнь проще и особо не просит ничего взамен - не вижу веских причин отказываться от него

Roman
06.12.2016
09:16:47
Kotlin ❤️

Max
06.12.2016
09:18:21
Хотя может я просто ем слишком мало сахара

Eugene
06.12.2016
09:19:58
Там учить-то максимум неделю

Max
06.12.2016
09:22:00
Ладно, я не спорю, вдруг там реально все здорово и пони с радугой, может в каком нибудь другом проекте попробую. Просто ИМХО это ненужное усложнение на ровном месте

Quantum Harmonizer
06.12.2016
09:26:31
А где усложнение?
Для меня основные плюшки Котлина –– его система типа, которая приносит null-безопасность и mulability-безопасность.

Google

Quantum Harmonizer
06.12.2016
09:26:41
*система типов

Paul
06.12.2016
09:27:23
Ладно, уговорили, даваайте ваши доки и мануалы по котлину)

Максим
06.12.2016
09:27:35

Анатолий
06.12.2016
09:29:14
Парни, выручайте. Уже не знаю что делать. Проблема в следующем. Релизная версия приложения сильно жрет CPU и вместе с ним и батарею сажает, хотя в тестовой версии все нормально. Отличие тестовой версии от релизной в наличии обфускации и оптимизации.

I
06.12.2016
09:31:35
переоптимизировали?

Анатолий
06.12.2016
09:32:31

I
06.12.2016
09:33:06
раз релизная - то профайлером не подключиться, да?

Анатолий
06.12.2016
09:33:23
ага
пробовал и включать возможность отладки, но ничего критичного не было заметно
но когда собрали релиз опять начался жор

Quantum Harmonizer
06.12.2016
09:35:15
Наконец нашёл код, который хотел показать.
https://github.com/JetBrains/intellij-community/blob/306d705e1829bd3c74afc2489bfb7ed59d686b84/java/java-psi-impl/src/com/intellij/psi/impl/compiled/ClsTypeElementImpl.java#L48
myChild = new AtomicNullableLazyValue<ClsElementImpl>() {
@Override
protected ClsElementImpl compute() {
return calculateChild();
}
};
или
myChild = lazy { calculateChild() }


Анатолий
06.12.2016
09:38:47
релиз без minify еще не пробовал
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
zipAlignEnabled true
debuggable false
shrinkResources true
вот отличие в конфигах сборки

Глеб
06.12.2016
09:40:31
А приложение клиент-сервер?

Анатолий
06.12.2016
09:40:39
да

Глеб
06.12.2016
09:40:56
Окружение релиз/девелоп одинаковое?

Анатолий
06.12.2016
09:41:05
да

Google

Анатолий
06.12.2016
09:41:12
лишних запросов с сеть нету

Глеб
06.12.2016
09:42:43
Если у тебя в коде нет проверок на DEBUG, то они вполне могут быть в используемых библиотеках. Но стоит проверить сначала что будет, если отключить minify

Анатолий
06.12.2016
09:43:23
пhоверки на DEBUG есть но они влияют только на формирование текста
хорошо попробую без minify

Глеб
06.12.2016
09:44:49
Я часто видел всякие веселые штуки в либах типа попытки не напрямую загрузить какие-нибудь "дефолтные" классы и, в случае провала, использовать свою медленную и тупую реализацию.
но обычно там в доке пишут, что надо дописать в прогвард, чтобы он не потер эти волшебные классы

Анатолий
06.12.2016
09:55:46
Причем такая проблема на моем нексусе 5 с API 23. На телефоне с API 18 все норм. Левых либ практически нет. В основном все от гугла

Глеб
06.12.2016
09:56:33
а в чем суть приложения? Текст, картинки, гифки, видео?

Quantum Harmonizer
06.12.2016
09:57:03
Что происходит в Android Monitor? Память, сеть, ЦП?

Глеб
06.12.2016
09:57:21
А то есть, к примеру, ExoPlayer, который использует MediaCodec, число которых в системе ограничено и если одно приложение не отпустит используемые, то второе их не получит и вот они лаги баги глюки

tirips
06.12.2016
09:57:58
exo player это хорошо?

Глеб
06.12.2016
09:58:18

tirips
06.12.2016
09:58:30
чтобы кеширование сделать

Глеб
06.12.2016
09:58:48
обычно проблем не возникает
но если крутить 4-5 роликов одновременно
то будут проблемы

tirips
06.12.2016
09:59:29

Глеб
06.12.2016
09:59:42
ну нет, у тебя может быть лента видео, к примеру

Google

Глеб
06.12.2016
09:59:47
на ViewPager'е

tirips
06.12.2016
09:59:59
а, понял
адекватный кейс, согласен

Глеб
06.12.2016
10:00:10
если не запариваться, то придешь к ситуации, когда 3 ролика существуют одновременно
а на некоторых девайсах всего 2 декодера
в итоге третий будет черным
или фолбечнется на софтовый декодер
и вот тебе жор камня
или ты пилишь обработку видео. Тогда 2 кодека заняты на пережатие (1 decode, 1 encode) и у тебя уже большой вопрос встает, сможешь-ли ты показывать в это время видео

tirips
06.12.2016
10:02:40
как все сложна

Глеб
06.12.2016
10:02:47
при чем, что характерно, их количество нельзя просто взять и получить
зато если тебе нужно видео с красивыми шейдерными эффектами, то нет ничего лучше MediaCodec'а
к примеру на nexus 5x ffmpeg пережевывает 15сек видео 3-4 минуты, а MediaCodec делает это за 16сек без вдумчивой оптимизации процесса.
и рендерит эффекты на OpenGL
короче, крутая штуковина, но выстрелить в ногу очень просто

Max
06.12.2016
10:06:30
и рендерит эффекты на OpenGL
Вы сейчас описали мою голубую мечту. Пытался сделать что то подобное, но не вышло, после извлечения кадров обратное видео даже без обработки было отвратного качества и с артефактами. Можете показать где брали примеры?
В итоге юзаю ffmpeg, но верил что описываемое вами возможно

Глеб
06.12.2016
10:07:04