
Andre
31.03.2016
18:51:05

Nick
31.03.2016
18:51:13
Скорее всего просто забыли зарефакторить, а начинали с активити

Alex Фэils?︙
31.03.2016
18:51:23

Andre
31.03.2016
18:51:36
Я в джавачате пояснял, почему так писать надо

Google

Alex Фэils?︙
31.03.2016
18:51:37
Можно PR сделать

Nick
31.03.2016
18:51:38

Dmitriy
31.03.2016
18:51:48

Alex Фэils?︙
31.03.2016
18:51:50

Dmitriy
31.03.2016
18:52:54

Andre
31.03.2016
18:54:06
Сто лет назад писал, но вкратце: это работает и на старых версиях ведра - раз
Это работает быстрее, чем создание активити и не надо ебаться с ненужным лайфсайклом (там даже configChanges=orientation|screenSize)
Это позволяет какие хочешь анимации мутить и даже делать свайп по кнопке назад, чего не очень позволяют фрагменты

Alex Фэils?︙
31.03.2016
18:54:27

Anatol
31.03.2016
18:54:27
Инфлейт не медленнее. Когда парсится xml он все равно переводится в обычные вызовы методов. Так что единственные потери на парсинг xml, и то они совсем не критичны

Alex Фэils?︙
31.03.2016
18:54:44

Andre
31.03.2016
18:54:46
Все экраны там в рантайме отрисовываются
Это меньше чтения с диска и опять же можно забить на смену ориентации

Anatol
31.03.2016
18:55:58
Только код становится нечитаемым

Andre
31.03.2016
18:56:12
Все там читаемо :)

Google

Andre
31.03.2016
18:56:24
для новичков действительно сложно, да

Anatol
31.03.2016
18:56:50
Хз. Ненавижу построение разметки в коде
Все там читаемо :)

Alex Фэils?︙
31.03.2016
18:57:04

Dmitriy
31.03.2016
18:57:22

Alex Фэils?︙
31.03.2016
18:58:00

Anatol
31.03.2016
18:59:32
для новичков действительно сложно, да
Я придерживаюсь политики, чем меньше кода, тем лучше (в разумных пределах). Тогда сложнее проебаться. Но если создание вьюх в коде оправдано, то пожалуйста

Andre
31.03.2016
19:00:57
Оно в андроиде оправдано еще как

Alex Фэils?︙
31.03.2016
19:01:20
Надо натив активити делать?

Anatol
31.03.2016
19:01:43

Dmitriy
31.03.2016
19:01:45

Andre
31.03.2016
19:02:07
Во-первых, как я уже сказал, это меньше чтения с диска
Во-вторых, если наловчиться, можно отрисовывать всё прямо в методе onDraw - и таким образом у тебя будет элемент списка из одной вьюхи, а ради одной вьюхи хмл уже городить нет смысла
и это будет работать максимально быстро

Alex Фэils?︙
31.03.2016
19:02:37
один onDraw - да
GLSurfaceView.Renderer

Dmitriy
31.03.2016
19:03:50

Anatol
31.03.2016
19:04:17
Бля. Свайп
Критична производительность

Andre
31.03.2016
19:05:22

Google

Alex Фэils?︙
31.03.2016
19:05:52
Можно трассирнуть
При surfaceChanged

Andre
31.03.2016
19:06:22

Dmitriy
31.03.2016
19:06:45
просто такая погоня за скоростью напоминает мне фразу про преждевременную оптимизацию

Andre
31.03.2016
19:07:02
Я это все просто изучаю чтобы конкурсный телеграм со временем допилить и выложить, да так, чтобы не позорно было называть его быстрым
Это я еще про переиспользование битмапов и LMDB не говорил

Anatol
31.03.2016
19:07:47

Alex Фэils?︙
31.03.2016
19:09:24

Andre
31.03.2016
19:09:47
Вот у меня в конкурсном клиенте как раз можно улучшить вот эти несколько моментов: одно вью на элемент списка, стек вью вместо фрагментов, переиспользование битмапов с помощью использования libjpeg из последних версий андроида

Anatol
31.03.2016
19:09:52
А сможешь дать ссылку на конкретный пример где вся отрисовка через один onDraw происходит?

Alex Фэils?︙
31.03.2016
19:11:08
думаю, можно самому написать
только хитТесты надо самому считать

Alex Фэils?︙
31.03.2016
19:13:45
Это мне напоминает winapi с WM_PAINT'ом, и прочие фреймворки, рисующие виджеты в один проход

Andre
31.03.2016
19:14:45
https://github.com/DrKLO/Telegram/search?utf8=✓&q=ondraw
https://github.com/DrKLO/Telegram/search?utf8=✓&q=staticlayout&type=Code

Alex Фэils?︙
31.03.2016
19:15:13
Фигасе, в урле галочки

Andre
31.03.2016
19:15:30
ага, сам только сейчас заметил

Igor
31.03.2016
19:15:40
прикольная фича

Dmitriy
31.03.2016
19:18:59

Andre
31.03.2016
19:19:35
дай угадаю: там где спамят эмодзи
в телеграме замена эмодзи в UI-треде, это плохо

Google

Alex Фэils?︙
31.03.2016
19:20:58
А почему не в async task?

Dmitriy
31.03.2016
19:21:04

Andre
31.03.2016
19:21:32

Nick
31.03.2016
19:21:59
А в чем тогда? В thread?

Andre
31.03.2016
19:22:27
ну да
в идеале ты должен еще следить за количеством выполняемых Thread'ов и иметь возможность их приостанавливать, если тебе нужно
повторяться не буду, что в айфоне именно так и происходит

Nick
31.03.2016
19:25:20
А с юи через хэндлер?

Andre
31.03.2016
19:27:00
Да
Я правда уже не помню, куда я в своем таскменеджере запихнул Looper.prepare и вообще у меня такое ощущение что я его выпилил

Admin
ERROR: S client not available

Andre
31.03.2016
19:27:24
Но с другой стороны работают же Message.sendToTarget как-то

Dmitriy
31.03.2016
19:28:39
я не опускаюсь на такой низкий уровень сам.
использую Otto

Anatol
31.03.2016
19:29:14

Alex Фэils?︙
31.03.2016
19:29:35
Было бы все плавно, если бы андроид был real-timeOS
Но тогда ограничения были бы просто прокрустовы

Andre
31.03.2016
19:30:13
вот однажды я все-таки доберусь до разработки под BB10, посмотрю что там такого сложного
ну кроме того что Qt там четвертый
и то так все об этом говорят, будто это что-то плохое

Alex Фэils?︙
31.03.2016
19:30:32
А гцц есть?

Google

Andre
31.03.2016
19:31:00
А гцц есть?
Ты про GCC? Там же аналогичный QCC (QNX C Compiler)

Alex Фэils?︙
31.03.2016
19:31:19
Во qnx

Andre
31.03.2016
19:31:21
Вот то, что C++11 там неполный, насколько я помню — это да, но есть буст же

Alex Фэils?︙
31.03.2016
19:31:58
Это да

Roman
31.03.2016
19:51:18

Alex Фэils?︙
31.03.2016
19:51:51
да, согласен
Проблема в диспетчеризации
И локировках
И gc:"а не почистить ли мне память"?
С gc утрирую?

Roman
31.03.2016
19:53:38

Andre
31.03.2016
19:54:08
Ну это если тебе БД нужна

Roman
31.03.2016
19:54:15
Просто линукс и так обычно preempt и rt там лишнее

Pavel ?
31.03.2016
21:25:32
ксамарин реально на всех мобилах аппу поднимает или это какой-то костыль?

Митко Соловец?
31.03.2016
21:25:48
тоже прочел хабр?
где они объявили, что ксамарин бесплатен?)
теперь

Pavel ?
31.03.2016
21:26:17
ага и жетбрейнсы райдер пилят, очень это все странно

Митко Соловец?
31.03.2016
21:26:23
не
платформозависимый код остается все равно

Pavel ?
31.03.2016
21:27:04
всмысле? там нет абстракции ui?

Alex Фэils?︙
31.03.2016
21:27:44
И дотнет-адаптеры