Как удалять приложение из памяти при падении?

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
Volha
Сообщения: 61
Зарегистрирован: 20 авг 2012, 17:39

Как удалять приложение из памяти при падении?

Сообщение Volha » 12 авг 2013, 09:56

При падения не из главного активити, после репорта об ошибке приложение снова пытается открыться - хотелось бы его удалять из памяти, или что правильно делать в этом случае?

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Как удалять приложение из памяти при падении?

Сообщение neoksi » 12 авг 2013, 10:45

Правильно найти баг и исправить его.
А вообще, приложение должно быть так написано, чтоб не падало.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Как удалять приложение из памяти при падении?

Сообщение Mikhail_dev » 12 авг 2013, 10:55

Ничего не делать. Второй раз юзер нажмет уже закрыть и приложение не запустится.
А вообще, приложение должно быть так написано, чтоб не падало.
Ага, а еще зп белая, хорошее правительство, мир во всём мире и так далее =) я помню на айфоне как-то баг был у приложухи контакта, второго апдейта версии 2.0. Так вот, у них музыка в фоне переставала играть при открытии приложения. Это был грандиозный фейл, который породил небывалую волну ярости. Я не понял конечно, почему они правили баг месяц. Я это к тому, что баги есть везде и всегда =)

Volha
Сообщения: 61
Зарегистрирован: 20 авг 2012, 17:39

Re: Как удалять приложение из памяти при падении?

Сообщение Volha » 12 авг 2013, 10:59

Репорты об ошибках я собираю и чинить их собираюсь. Но приложение у меня достаточно большое, а я ещё очень неопытный разработчик - полностью в себе не уверена, а остающееся в памяти упавшее приложение создает совсем отрицательное отношение.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Как удалять приложение из памяти при падении?

Сообщение rezak90 » 12 авг 2013, 12:37

neoksi писал(а):А вообще, приложение должно быть так написано, чтоб не падало.
:D шутишь?
R.id.team
Политика на форуме запрещена

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Как удалять приложение из памяти при падении?

Сообщение Foenix » 12 авг 2013, 13:04

А что значит "снова пытается открыться"?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Как удалять приложение из памяти при падении?

Сообщение KamiSempai » 12 авг 2013, 13:17

Foenix писал(а):А что значит "снова пытается открыться"?
Это когда при ошибке открывается стартовое Activity и приложение пытается работать как будто ничего не произошло. Иногда это может приводить к неожиданным результатам.
У меня тоже иногда такое случается.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Как удалять приложение из памяти при падении?

Сообщение Foenix » 12 авг 2013, 13:20

Странно, что-то я не замечала.
Но ведь в любом случае - это уже ОС руководит, так ведь
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Volha
Сообщения: 61
Зарегистрирован: 20 авг 2012, 17:39

Re: Как удалять приложение из памяти при падении?

Сообщение Volha » 12 авг 2013, 13:49

Foenix писал(а):Странно, что-то я не замечала.
Но ведь в любом случае - это уже ОС руководит, так ведь
У меня, к сожалению, руководит IT директор и он очень хочет чтобы приложение удалялось из памяти.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Как удалять приложение из памяти при падении?

Сообщение rezak90 » 12 авг 2013, 14:02

Система может сама убить приложение и потом же сразу его восстановить, такое обычно бывает при нехватки памяти.
Volha писал(а):У меня, к сожалению, руководит IT директор и он очень хочет чтобы приложение удалялось из памяти.
Значит ты не умеешь общаться с руководством, нужно приводить аргументы почему так а не так как он хочет.
R.id.team
Политика на форуме запрещена

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Как удалять приложение из памяти при падении?

Сообщение neoksi » 12 авг 2013, 14:04

Идея одна, нужно в таком случае самому обрабатывать ошибки. Возможно в стандартном обработчике кроется повторный вызов.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Как удалять приложение из памяти при падении?

Сообщение Foenix » 12 авг 2013, 14:05

по любому нужно делать свой обработчик ошибок, и может попытаться слать ему туда System.exit(0) какой-нибудь (ну и все ошибки должны быть отловлены).. Правда все равно из памяти активити будет удалять операционка..
Volha писал(а):
Foenix писал(а):Странно, что-то я не замечала.
Но ведь в любом случае - это уже ОС руководит, так ведь
У меня, к сожалению, руководит IT директор и он очень хочет чтобы приложение удалялось из памяти.
Не знаю у кого как, но я своим начальникам объяснила, что андроид им не десктоп, что они там уже не начальники, а я буду делать так, как этого требует ОС, т.к. по любому знаю больше них :) (может, другими словами), и теперь при встречах с заказчиками меня поддерживают если юзеры недовольны поведением программы или я делаю вместо привычным им ожиданиям от десктопных программ что-то по-другому.
Редко встречаются какие-то недовольства, но я в ответ начинаю объяснять как все там устроено и почему я сделала так а не иначе - Мне сразу говорят "все-все, не нужно, я все равно в этом ничего не понимаю, делай как правильно"

Имхо для тебя грамотная обработка ошибок - твое все.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Как удалять приложение из памяти при падении?

Сообщение Mikhail_dev » 12 авг 2013, 15:40

Volha писал(а):
Foenix писал(а):Странно, что-то я не замечала.
Но ведь в любом случае - это уже ОС руководит, так ведь
У меня, к сожалению, руководит IT директор и он очень хочет чтобы приложение удалялось из памяти.
1. Унаследовать класс от Application в виде синглтон, к примеру
2. Реализовать собственный обработчик ошибок (в моей заметке, в подписи "Отлов не предусмотренных исключений. Как всегда поймать ошибку")
3. В обработчике при падении приложения, вызывать у синглтона метод закрытия приложения. Уже честно говоря не помню как он звучит, что-то на подобие finish(); Он там переопределяется

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Как удалять приложение из памяти при падении?

Сообщение Foenix » 12 авг 2013, 16:30

System.exit(0) он звучит
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Volha
Сообщения: 61
Зарегистрирован: 20 авг 2012, 17:39

Re: Как удалять приложение из памяти при падении?

Сообщение Volha » 12 авг 2013, 17:54

Спасибо) System.exit(0) вроде помог.
С руководством я не умею общаться, да) Констатация этого не приближает к решению проблемы. Я достаточно долго спорила по разным вопросам, последний раз кончился крупной ссорой, с тех пор я берегу нервы и соглашаюсь. Сейчас сделаю релиз и может свалю отсюда куда-то.


Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Как удалять приложение из памяти при падении?

Сообщение rezak90 » 12 авг 2013, 20:47

Volha писал(а):Спасибо) System.exit(0) вроде помог.
С руководством я не умею общаться, да) Констатация этого не приближает к решению проблемы. Я достаточно долго спорила по разным вопросам, последний раз кончился крупной ссорой, с тех пор я берегу нервы и соглашаюсь. Сейчас сделаю релиз и может свалю отсюда куда-то.
диплом хоть сдала?
R.id.team
Политика на форуме запрещена

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Как удалять приложение из памяти при падении?

Сообщение Mikhail_dev » 12 авг 2013, 21:20

System.exit(0); вообще сама по себе очень коварная команда. Нам на курсах Java EE рассказывали случай, когда обычный модуль приложения, обрабатывая обычную ошибку, при аварийной работе, выполнил именно это команду. Ну и закрылась вся система, лег весь сервер приложений, который работал на 100500 серверах в разных точках страны. Так что лучше не привыкать =) к тому же, я слышал, что system.exit() не рекомендуется использовать.
Советую глянуть данныйответ.
К тому же, таким же образом работает Task Killer

Volha
Сообщения: 61
Зарегистрирован: 20 авг 2012, 17:39

Re: Как удалять приложение из памяти при падении?

Сообщение Volha » 13 авг 2013, 12:54

rezak90 писал(а):
Volha писал(а):Спасибо) System.exit(0) вроде помог.
С руководством я не умею общаться, да) Констатация этого не приближает к решению проблемы. Я достаточно долго спорила по разным вопросам, последний раз кончился крупной ссорой, с тех пор я берегу нервы и соглашаюсь. Сейчас сделаю релиз и может свалю отсюда куда-то.
диплом хоть сдала?
Сдала, на 5 =)
no-- писал(а):System.exit(0); вообще сама по себе очень коварная команда. Нам на курсах Java EE рассказывали случай, когда обычный модуль приложения, обрабатывая обычную ошибку, при аварийной работе, выполнил именно это команду. Ну и закрылась вся система, лег весь сервер приложений, который работал на 100500 серверах в разных точках страны. Так что лучше не привыкать =) к тому же, я слышал, что system.exit() не рекомендуется использовать.
Советую глянуть данныйответ.
К тому же, таким же образом работает Task Killer
Спасибо) Попробую совсем от него отказаться, может. Пока много других багфиксов(

Ответить