Страница 1 из 1

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

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

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

Добавлено: 12 авг 2013, 10:45
neoksi
Правильно найти баг и исправить его.
А вообще, приложение должно быть так написано, чтоб не падало.

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

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

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

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

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

Добавлено: 12 авг 2013, 12:37
rezak90
neoksi писал(а):А вообще, приложение должно быть так написано, чтоб не падало.
:D шутишь?

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

Добавлено: 12 авг 2013, 13:04
Foenix
А что значит "снова пытается открыться"?

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

Добавлено: 12 авг 2013, 13:17
KamiSempai
Foenix писал(а):А что значит "снова пытается открыться"?
Это когда при ошибке открывается стартовое Activity и приложение пытается работать как будто ничего не произошло. Иногда это может приводить к неожиданным результатам.
У меня тоже иногда такое случается.

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

Добавлено: 12 авг 2013, 13:20
Foenix
Странно, что-то я не замечала.
Но ведь в любом случае - это уже ОС руководит, так ведь

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

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

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

Добавлено: 12 авг 2013, 14:02
rezak90
Система может сама убить приложение и потом же сразу его восстановить, такое обычно бывает при нехватки памяти.
Volha писал(а):У меня, к сожалению, руководит IT директор и он очень хочет чтобы приложение удалялось из памяти.
Значит ты не умеешь общаться с руководством, нужно приводить аргументы почему так а не так как он хочет.

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

Добавлено: 12 авг 2013, 14:04
neoksi
Идея одна, нужно в таком случае самому обрабатывать ошибки. Возможно в стандартном обработчике кроется повторный вызов.

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

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

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

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

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

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

Добавлено: 12 авг 2013, 16:30
Foenix
System.exit(0) он звучит

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

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

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

Добавлено: 12 авг 2013, 19:33
Mikhail_dev
Куда-нибудь поближе к океану.

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

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

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

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

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

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