Size: a a a

Android Developers

2020 June 12

IK

Ivan Kononenko in Android Developers
Dmytro Borysov
Тю, аборигены тоже без света нормально себе живут, нахера нам электричество? Не в обиду ИОСникам. Просто ОС предоставляет возможность отслеживать эти события и более гибко реализовывать свои приложения и хранить ресурсы и т.п. Остальное за разработчиком
Т.е. для большей гибкости получается ?
источник

IK

Ihor Kushnirenko in Android Developers
Ребята, кто-то юзает студию 4.1 бета1 и SafeArgs плагин для навигации?
источник

I

Ivan in Android Developers
Dmytro Borysov
Добрый. Находишь какие-то лишними? Они есть, но тебя ни кто не заставляет в каждом из них совершать действия. Они используются в специфичных сдучаях, когда нужно отслеживать ситуации, которые эти методы отображают
Я бы отметил, что всё-таки они добавляют некие сложности. Вернее не они, а некоторые нюансы, связанные с ними. Как я помню, нет гарантии вроде бы, что вызовется onStop и onDestroy
источник

AK

Anton Kulykov in Android Developers
Ivan
Я бы отметил, что всё-таки они добавляют некие сложности. Вернее не они, а некоторые нюансы, связанные с ними. Как я помню, нет гарантии вроде бы, что вызовется onStop и onDestroy
если приложение полностью выгружается из памяти системой либо через настройки остановить на onDestroy не попадем, поправьте если путаю
источник

I

Ivan in Android Developers
Anton Kulykov
если приложение полностью выгружается из памяти системой либо через настройки остановить на onDestroy не попадем, поправьте если путаю
я сам точно не помню. просто знаю, что нет гарантии вызова тех методов системой
источник

AK

Anton Kulykov in Android Developers
ну смотрите, обычно что на onDestroy делаем? выгружаем mediaplayer, отрубаем ресиверы и так далее, при полной выгрузке это все и так умрет
источник

I

Ivan in Android Developers
Anton Kulykov
ну смотрите, обычно что на onDestroy делаем? выгружаем mediaplayer, отрубаем ресиверы и так далее, при полной выгрузке это все и так умрет
не спорю
источник

R

Ravil in Android Developers
Ivan
я сам точно не помню. просто знаю, что нет гарантии вызова тех методов системой
Note: do not count on this method being called as a place for saving data! For example, if an activity is editing data in a content provider, those edits should be committed in either onPause() or onSaveInstanceState(Bundle), not here. This method is usually implemented to free resources like threads that are associated with an activity, so that a destroyed activity does not leave such things around while the rest of its application is still running. There are situations where the system will simply kill the activity's hosting process without calling this method (or any others) in it, so it should not be used to do things that are intended to remain around after the process goes away.

Это из доки
источник

R

Ravil in Android Developers
Anton Kulykov
ну смотрите, обычно что на onDestroy делаем? выгружаем mediaplayer, отрубаем ресиверы и так далее, при полной выгрузке это все и так умрет
Не надо наедятся что все и так умрет. Нужно освобождать ссылки, чтобы GC лучше их собрал и не было утечек памяти.
источник

AK

Anton Kulykov in Android Developers
Ваш вариант очистки?
источник

AK

Anton Kulykov in Android Developers
onDestroy не вызвался, ваши действия?
источник

n

neikist in Android Developers
Ravil
Не надо наедятся что все и так умрет. Нужно освобождать ссылки, чтобы GC лучше их собрал и не было утечек памяти.
В onDestroy мы чистим потому что смерть активити не равна смерти процесса, а соответственно и ресурсы для остального приложения освободить нужно. При смерти процесса система все запрошенные дескрипторы и прочие ресурсы и так освободит.
источник

R

Ravil in Android Developers
Anton Kulykov
onDestroy не вызвался, ваши действия?
Чищу до
источник

n

neikist in Android Developers
А уж тем более GC при смерти процесса вообще заморачиваться не нужно. Система и так сразу станет считать память которую процесс держал свободной.
источник

R

Ravil in Android Developers
neikist
В onDestroy мы чистим потому что смерть активити не равна смерти процесса, а соответственно и ресурсы для остального приложения освободить нужно. При смерти процесса система все запрошенные дескрипторы и прочие ресурсы и так освободит.
то есть вы считаете что система убивает по процессам?
источник

n

neikist in Android Developers
Ravil
то есть вы считаете что система убивает по процессам?
Именно так. Можно например глянуть через adb какие процессы запущены, а потом приложение закрыть и повторить.
источник

R

Ravil in Android Developers
neikist
Именно так. Можно например глянуть через adb какие процессы запущены, а потом приложение закрыть и повторить.
так вот, вовсе нет )
источник

n

neikist in Android Developers
Ravil
так вот, вовсе нет )
И? Где продолжение? Или хотя бы ссылка на документацию?
источник

n

neikist in Android Developers
Насколько помню при старте приложения зигота именно в отдельный процесс форкается
источник

R

Ravil in Android Developers
neikist
И? Где продолжение? Или хотя бы ссылка на документацию?
Я уже не помню где читал, но там есть 5 приоритетов вроде. Процесс убивается, если он пустой. Может быть такое, что убвивается актвити, которое видимо, но у него сработал onPause, а поверх текущее активити, например, диалог. И они в одном процессе.
источник