@android_ru

Страница 1536 из 3205
Андрей
30.05.2017
22:54:51
Юрий
30.05.2017
22:55:18
Дружище, ты спросил про утечки, я тебе привёл примеры из практики Ты можешь спорить сколько хочешь

Андрей
30.05.2017
22:55:49
Для этого надо использовать Observer
Если Observer создавать как анонимный класс, то при кешировании он тоже утечку создаст.

Юрий
30.05.2017
22:56:29
Изначально речь шла про статик и синглтон - их юзать бездумно нельзя, так как есть шанс утечки

Google
Pavel Gorlo
30.05.2017
22:56:35
А смысл тогда кеширования, если запрос все равно перепосылать?
Нет. Суть в том, что есть объект. У тебя есть ссылка на него в Activity. У объекта есть listener-ы событий от объекта(реализует интерфей объекта). При onStop отписываеся от событий... при onResume подписываемся

Юрий
30.05.2017
22:56:43
Примеров утечек - мульен

Юрий
30.05.2017
22:57:38
Смотря что ты в статик хочешь положить

Андрей
30.05.2017
22:57:50
Утечки и без статиков с синглтонами можно насоздавать, если нету знания как ссылки в Джаве работают.

Gleb
30.05.2017
22:58:09
Retain fragment не работает если есть вложеный фрагмент.. к примеру фаргмент с FragmentPages в котором Fragment
Пэйджер - на вьюхах - и никаких проблем Ты же для лист-вью не городишь фрагменты

Более того, смотря что ты хочешь ретэйнить? если данные - бери savedStateInstance если асинхронную таску - loaders

Юрий
30.05.2017
22:58:09
Разумно)

Pavel Gorlo
30.05.2017
22:58:29
Object.getInstance(saveInstance==null).registerObserver(this); Это при onCreate к примеру

Object.getInstance().unregistered(this)

Google
Pavel Gorlo
30.05.2017
22:59:11
public interface BaseObservable { void onStarted(BaseModel baseModel); void onSucceeded(BaseModel baseModel); void onFailed(BaseModel baseModel); }

утечки тредов!
Каких таких тредов.?

Юрий
30.05.2017
22:59:40
Я помню, что ловил багу с утечками с подписками, вот только не помню на онСтоп или на онДестрой

Pavel Gorlo
30.05.2017
23:00:00
J
30.05.2017
23:00:01
Каких таких тредов.?
обычных джавовских

насоздавал тредов и потерял указатели на них

J
30.05.2017
23:00:23
а они крутятся

Pavel Gorlo
30.05.2017
23:00:29
какие еще указатели?

:)

J
30.05.2017
23:00:50
какой контекст?

Pavel Gorlo
30.05.2017
23:00:52
а они крутятся
Ну это уже говнокод

Gleb
30.05.2017
23:00:57
листвью давно не использую :)) RecyclerView only
суть не меняется, во первых. а во вторых чем такой выбор аргументирован? если не секрет?

Юрий
30.05.2017
23:01:01
листвью давно не использую :)) RecyclerView only
А не один хрен?)))) как-то обсуждался вопрос фрагментов как айтем ресайкла

Pavel Gorlo
30.05.2017
23:01:05
какой контекст?
Контекст выполения со своим стеком вызовов

J
30.05.2017
23:01:10
Ну это уже говнокод
ну зато утечки

ну контекст

Pavel Gorlo
30.05.2017
23:01:58
так а чо толку то
Процесс должен завершаться.

Google
J
30.05.2017
23:02:26
Процесс должен завершаться.
ну while(true) не должен

Юрий
30.05.2017
23:02:51
Процесс должен завершаться.
Ты все про какие-то идеальные условия рассказываешь)))) то говнокод, то указатели

Pavel Gorlo
30.05.2017
23:02:57
ну while(true) не должен
Ну так если нет таких вот конструкций, то и проблем нет. ПРоцесс отработал и усе.

Андрей
30.05.2017
23:03:22
ну while(true) не должен
если у тебя ссылка на тред останется, что поменяется при таком коде?

Юрий
30.05.2017
23:03:45
Ну так это то к чему мы все стремимся.
Тогда надо перестать писать код))) лучший код, которого нет :)

Pavel Gorlo
30.05.2017
23:04:01
если у тебя ссылка на тред останется, что поменяется при таком коде?
Проблема изначально в сохранении ссылок. Я же и задал вопрос. Что вы делаете когда сталкиваетесь с долбаным циклом жизни компонентов

Юрий
30.05.2017
23:04:18
если у тебя ссылка на тред останется, что поменяется при таком коде?
Можно грохнуть тред и выйти из цикла по завершению

Pavel Gorlo
30.05.2017
23:04:19
Можно грохнуть тред и выйти из цикла по завершению
Грохать тред принудительно = бэд стайл

Вот тогда и будут утечки. Могут быть

Юрий
30.05.2017
23:04:56
)))))))

Андрей
30.05.2017
23:05:03
а разве его принудительно можно грохнуть?

Андрей
30.05.2017
23:05:24
тот же terminate ничего не гарантирует

J
30.05.2017
23:05:32
Грохать тред принудительно = бэд стайл
ну я искал способы создать утечку нашел 2 способа статические поля и утечки тредов

Андрей
30.05.2017
23:05:34
Да.
и как?

J
30.05.2017
23:05:45
если знаете еще - сообщите

Pavel Gorlo
30.05.2017
23:06:05
тебе надо ссылку пережить при повороте?
Да. Я проблему у себя решил в приложениях. Кокраз что-то типа того что предлагается в ролике про Android Components. Вопрос был в том, есть ли еще какие-то практики?

Google
J
30.05.2017
23:06:43
а да ещё шейдеры текут

Pavel Gorlo
30.05.2017
23:06:45
SavedState Instance - верняк!
это не сохранение ссылок

J
30.05.2017
23:06:59
их можно создавать но забывать уничтожить

Юрий
30.05.2017
23:07:02
Pavel Gorlo
30.05.2017
23:07:03
SavedState Instance - верняк!
тут надо делать parcelable объекты

Юрий
30.05.2017
23:07:08
Конско

J
30.05.2017
23:07:15
И битмап
а он как?

Gleb
30.05.2017
23:07:25
это не сохранение ссылок
Я понимаю, о чём говорю ))) это именно сохранение ссылки

Admin
ERROR: S client not available

J
30.05.2017
23:07:25
найтивный типа?

Юрий
30.05.2017
23:07:49
а он как?
При работе с картинкой он выжирает больше, чем возвращается

Андрей
30.05.2017
23:07:50
Да.
Так расскажешь как можно тред принудительно убыть?

Pavel Gorlo
30.05.2017
23:07:52
Я понимаю, о чём говорю ))) это именно сохранение ссылки
Возможно туплю. Можно пример простой?

Gleb
30.05.2017
23:07:59
это не сохранение ссылок
а вот если тебя прибили тогда уже он попробует забэкапить его как Parcelable

Pavel Gorlo
30.05.2017
23:08:02
Так расскажешь как можно тред принудительно убыть?
Я не могу отвечать сразу всем. Подожди

J
30.05.2017
23:08:05
jni понятно будет течь тк си

Юрий
30.05.2017
23:09:05
а почему?
Имхо конвертация картинки именно в битмап и назад

Google
J
30.05.2017
23:09:07
было дело у меня текли шейдеры при повороте экрана

да и щас текут)

Имхо конвертация картинки именно в битмап и назад
ну тоесть там кривой сишный код вызывается?

Gleb
30.05.2017
23:10:11
Возможно туплю. Можно пример простой?
Сделай любой Parcelable объект, перед поворотом - распечатай его id (myobj$123456 - например) положи в savedState потом поверни, извлеки этот объект и снова распечатай.... ты не поверишь - myobj$123456

J
30.05.2017
23:10:15
найтивный колл

Юрий
30.05.2017
23:10:52
ну тоесть там кривой сишный код вызывается?
Я как-то делал пазлы, и очень удивлялся тому, сколько ему надо памяти на простые операции, если есть какое-то простецкой наложение или обрезь по маске - 60-70 метров сдирает в мах.

Pavel Gorlo
30.05.2017
23:12:58
@Mujahit еще можно join по условию

Gleb
30.05.2017
23:13:18
а чо статик поля не ок?
оно то работает. Но для temp value - заводить поле....ммм...не айс а если у тебя 5 разных ссылок так упаковал в бандл - достал из бандла и структуре класса это не мешает - класс чистый без temp полей

Юрий
30.05.2017
23:13:22
Всем доброй ночи :)

Андрей
30.05.2017
23:13:52
Thread thread = new Thread(); thread.stop();
ага. и какие при этом бока вылезают http://docs.oracle.com/javase/7/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html

Pavel Gorlo
30.05.2017
23:14:08
@Mujahit понятно что гарантировать ничего нельзя. Но поток прирвется. И это плохой стиль.

Я прекрасно понимаю что так делать нельзя .. тут тебе и утечки и другие проблемы.

J
30.05.2017
23:15:17
типа как топором выход из самолета рубить

Pavel Gorlo
30.05.2017
23:15:52
Вообщем вопрос был не в этом. С сохранением объектов вообщем каждый издевается как может. Живем дальше с этим :)

Как же было классно во времена Windows Mobile ^))

J
30.05.2017
23:16:22

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