@android_ru

Страница 3045 из 3205
Gleb
29.04.2018
10:49:08
Практика показывает - если у тебя по утечкам/ссылкам - всё чисто, где-то через сек сразу после onFinish() - система запускает runFinalize всего дерева то ли с корня Activity .... ? то ли даже Application (Activity - точно). И соответвенно все close()-ы финализаторах отрабатываются

собственно, с финализаторов рекомендуют слазить в пользу ReferenceQueue.
так -то да.... если б те кто рекомендовал - за меня еще и этот кью писали - вообще б цены им не было)

собственно, с финализаторов рекомендуют слазить в пользу ReferenceQueue.
Я недавно - сам себе спасибо сказал - за close в финализаторе тока что-то пошло не так у меня - всё начало затыкаться и looper - не дестроился и при повторном запуске завал/креши по-фиксил утечку - всё пошло как по маслу это очень хороший индиктор получается корректности ссылок/обнулений утечек - сразу обнажает скрытые mem-issues

Google
Quantum Harmonizer
29.04.2018
10:54:26
(как реалм делает)

Gleb
29.04.2018
10:58:38
мне кажется, в дебажных сборках в финализаторах имеет смысл проверить, не забыл ли кто закрыть ресурс, и выстрелить, если забыл
Ну - это первый шаг, второй - не закрывать, а обнулять/отпускать ссылку. (Не везде конечно) - но вот кейсы бывают - когда "непонятно где закрывать" Сколько б не писали - "ты должен знать когда объект не нужен и закрыть" - ну блин.... не всегда я могу или хочу об этом думать одно окно покинуло модуль - открылось второе, которму этот модуль тоже нужен, если между ними gc не произошёл зачем вхолостую закрывать/открывать заново?

Quantum Harmonizer
29.04.2018
10:59:03
хмм...

Gleb
29.04.2018
10:59:07
Ну либо да - городить счётчики ссылок - но это тож не совсем то чем хотелось бы заниматься

Я точно понял - максимум секунда после выхода из активности - GC железно стартует финализацию всего дерева - она запустится! и именно тогда когда надо! - когда юзер вышел из аппа когда фоновые работы должны быть остановлены - вот тут close()-ы в финализаторах и спасают но это не прям как святое правило везде так писать - но по мне так tips&tricks я так wokrerthread с лупер (для камеры) поднимаю - когда его кто-то попросит get() - если он не поднят - поднимется и как все про него забудут - остановится а если он от компонента - к-компоненту нужен так тут-то он точно выживет

да ... не спорю там надо острожно - выхватил я так однажды "самоблок" всё зависало по выходу (активность ушла а log-cat не рапортует "onclosed") с потоками чуть на мудрил.... ну разобрался нашёл - сам дурак - сам виноват называется

Didarbek
29.04.2018
12:10:34
Кто работал с react native?

Morgan
29.04.2018
12:10:56
Народ а как то можно узнать на каком движке игра сделана? Про юнити с заставкой понятно, а с другими как?

Quantum Harmonizer
29.04.2018
12:11:28
Кто работал с react native?
те, кто общается в соответствующем чате @reactnative_ru

Alm
29.04.2018
13:57:06
ныне модно писать екран что ли?

?уже не первый раз вижу

Google
.
29.04.2018
13:59:06
?уже не первый раз вижу
Буква э убогая, имхо

Quantum Harmonizer
29.04.2018
13:59:56
ныне модно писать екран что ли?
В украинском языке её нет. Видимо, в этом дело.

balolam
29.04.2018
14:00:45
И "ы" тоже нет, тем не менее

Quantum Harmonizer
29.04.2018
14:01:03
Ешё в школах даже в восточной её части перестали преподавать русский.

Alm
29.04.2018
14:02:18
э мин татар егете, но тем не менее;D

balolam
29.04.2018
14:03:29
Quantum Harmonizer
29.04.2018
14:04:16
и?

Рома
29.04.2018
14:04:38
и?
видимо есть

.
29.04.2018
14:05:15
Рома
29.04.2018
14:06:15
аналог зеркальный)

.
29.04.2018
14:07:01
аналог зеркальный)
А в английском есть 'я')

Quantum Harmonizer
29.04.2018
14:07:09
Зеркальная э — как русская е.

Рома
29.04.2018
14:07:32
Зеркальная э — как русская е.
а обычная тогда зачем?)

Quantum Harmonizer
29.04.2018
14:08:20
а обычная тогда зачем?)
Украинская «е» читается как русская «э», как раз отсюда «екран», вполне валидное слово на украинском.

Рома
29.04.2018
14:08:30
аа

спасибо не знал)

Vladimir
29.04.2018
14:59:18
При создании layout-mdpi на всех экранах начинает использоваться разметка именно для этой дериктории, игнорируя дефолтную layout. Если создаю ещё и layout-xhdpi, то все работает нормально. Так и должно быть? Я чего то думал, что по дефолту используется layout, а при совпадении уже соответствующие дериктории

voffka
29.04.2018
15:07:36
я помню что уже сто раз спрашивали, но как называется эта хрень, когда активити затемненная и там подсказки по вьюхам?

Google
Alex
29.04.2018
15:11:28
Showcase?



voffka
29.04.2018
15:17:53
ага, оно. спс

Vladimir
29.04.2018
15:35:46
https://developer.android.com/guide/topics/resources/providing-resources#BestMatch
Ну вот, потому и не понял Экран телефона xhdpi. В ресурсах layout и layout-mdpi. Layout-mdpi ведь должен исключиться, так как он не подходит (экран xhdpi). Или нет?

Sergey
29.04.2018
15:36:43
Посути оно ищет и использует ниже по списку ресурс

Если совпаний вообще нету то будет использоваться default

Vladimir
29.04.2018
15:39:17
То есть в моем случае он сначала отбросил то, где нет квалификатора вообще, а потом использовал наиболее подходящий из оставшихся?

Если совпаний вообще нету то будет использоваться default
Так совпадений то и не было. Экран xhdpi

Vladimir
29.04.2018
15:40:06
Ясно, спасибо

Vladimir
29.04.2018
15:42:50
То есть в случае, когда указан только dpi - default использоваться никогда не будет?)

Sergey
29.04.2018
15:43:47
Не понял

Vladimir
29.04.2018
15:58:20
Например если есть только layout и layout-hdpi, то не важно какой экран у телефона использоваться будет всегда layout-hdpi потому что он ближе чем layout?

Vladimir
29.04.2018
16:05:37
Ну, хоть понял как работает, спасибо )

Google
Alm
29.04.2018
16:06:20
почему без квалификатора в последнюю очередь-то? по-моему, квалификатор на то и есть, чтобы если экран совпадет, то использовать mdpi, например.

https://developer.android.com/guide/topics/resources/providing-resources#QualifierRules

При каждом запросе ресурсов Android проверяет каталоги альтернативных ресурсов, которые содержат файл запрошенного ресурса, затем находят наиболее подходящий ресурс. Если нет альтернативных ресурсов, которые соответствуют конкретной конфигурации устройства, Android использует ресурсы по умолчанию (набор ресурсов для конкретного типа ресурсов, которые не содержат квалификатора конфигурации).

Vladimir
29.04.2018
16:15:13
Походу не один я не понял этот принцип )

Sergey
29.04.2018
16:27:25
Ну, хоть понял как работает, спасибо )
Но более правильно использовать квалификаторы sw, sh или w, h

Kirill
29.04.2018
17:22:24
Привет, на каком-то мобиусе был видос по MVI

не подскажите где найти?)

или на mosdroid

Akbolat
29.04.2018
18:10:56
Рефакторю старый проект*. Использовал AlarmManager + Service для запроса в сеть в определенное время и показа уведомления. Второй сейчас не работает, правила Oreo. Щас имплеменчу JobScheduler. И у его билдера есть метод setPeriodic(long). Значит ли это, что можно избавиться от AlarmManager'a и использовать только JobScheduler?

пример, чтобы каждый день в 9часов утра +- 10 минут, проходил запрос в сеть

Sergey
29.04.2018
18:18:31
пример, чтобы каждый день в 9часов утра +- 10 минут, проходил запрос в сеть
Где-то так. Но +/- зависит от того как решить система

Обычно его используют для периодических таскав с какими-то условием

Akbolat
29.04.2018
18:19:43
Где-то так. Но +/- зависит от того как решить система
я щас к мысли пришел, что нет. Потому как не вижу методов для определения старта(часы, минуты)

все-таки alarmManager придется использовать для единичного вызова Job'a

поправьте, если не прав. мб не вижу, потому что уже спать пора, а я сижу

Sergey
29.04.2018
18:22:13
Потому что с андроид 8+ нельзя стартовать обычные сервисы когда приложение длительное время в фоне

Только джоб сервисы

Vladislav
29.04.2018
18:45:55


Dmitry
29.04.2018
18:56:36
пример, чтобы каждый день в 9часов утра +- 10 минут, проходил запрос в сеть
Только Alarm Manager, если тебе нужно точно разбудить девайс в нужное время

Google
Рома
29.04.2018
18:59:19
добрый вечер. подскажите как в репозирии получить контекст? и можно ли так делать? репозиторий находится слое data

You
29.04.2018
19:00:21


и это всего лишь сэмпл со списком

Valery
29.04.2018
19:00:40
добрый вечер. есть особенности при загрузке больших файлов на сервер с помощью retrofit 2. например пдф.

Рома
29.04.2018
19:03:16
Нет, так делать нельзя, зачем он там тебе))
ну я хотел туда поместить работу с FaceDetector и BarcodeDetector из google mobile vision...а их билдер требует контекст

Рома
29.04.2018
19:08:25
BarcodeDetector использую, зачем ему контекст?
ну у него билдер на вход ждет контекст

Yuriy
29.04.2018
19:10:02
ну у него билдер на вход ждет контекст
Точно, извиняюсь. Я его создаю отдельно и уже готовым передаю...

Vadim
29.04.2018
19:10:17
В приложении я выставляю audioManager.setSpeakerphoneOn(true | false), но насколько я понял это глобальная настройка для всего телефона ? Как, при выходе из приложения можно восстанавливать дэфолтное состояние ?

если при выходе setSpeakerphoneOn(false) поставить, тогда, при открытие ютуба и включения видео звук идет из динамика, хотя должен из громкоговорителя

если при выходе setSpeakerphoneOn(true) поставить, то при звонке звук из громкоговорителя будет идти ? Как правильно сбрасывать эту настройку?

Андрей
29.04.2018
19:13:48
Коллеги, а кто сталкивался с Qemu на Андроиде? Встал вопрос по выбору запуска виртуальной машинки. При пробросе USB втыкаемся в ошибки OpenGL, и перегрузку

SyatemUI

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