Странное поведение метода Application.Quit()

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Странное поведение метода Application.Quit()

Сообщение Inessa 06 янв 2016, 22:47

Я столкнулась с тем, что при вызове метода Application.Quit() моё тестовое приложение на Android-устройстве не закрывается полностью, а просто сворачивается в трей и висит там вместе с другими свернутыми приложениями.

При попытке развернуть мое тестовое приложение из трея на устройстве - оно как бы загружается вновь и разворачивается на экране.

Я не могу понять в чем тут дело.

Для того, чтобы выяснить причину проблемы я создала новое приложение с единственной UI-кнопкой на экране и повесила на событие её обработчика OnClick метод ApplicationQuit() как это реализовано в скрипте, приведенном ниже.

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

Скажите, как это можно исправить?

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class GameLogic : MonoBehaviour {
  public void ApplicationQuit () {
        Application.Quit();
  }
}
 
Inessa
UNITрон
 
Сообщения: 160
Зарегистрирован: 13 мар 2013, 11:56

Re: Странное поведение метода Application.Quit()

Сообщение Cr0c 06 янв 2016, 22:59

Трей в андроиде это что, простите?
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Странное поведение метода Application.Quit()

Сообщение zomgzufall 06 янв 2016, 23:32

Никак. В андроиде нельзя закрыть приложение кнопкой в том понимание как это делается в винде. В андроиде можно вручную выгрузить приложение из памяти, открыв "диспетчер задач" и, обычно, потянув приложение вниз.

Я хочу сказать, что кнопка то у вас работает, и приложение "закрывается", просто оно не выгружается из памяти, т.к. это делается не в вашем приложении а в самом андроиде.
zomgzufall
UNец
 
Сообщения: 47
Зарегистрирован: 19 июл 2013, 09:49

Re: Странное поведение метода Application.Quit()

Сообщение Inessa 06 янв 2016, 23:40

Я имела ввиду тот список приложений, который появляется при длительном удержании средней аппаратной клавиши Home на Android-устройстве.

По идее после выполнения Application.Quit() моё тестовое приложение (приложение Quit на скриншоте) должно было исчезнуть из этого списка.

По какой причине оно там продолжает висеть?

С чем это может быть связано и как это можно исправить?
Последний раз редактировалось Inessa 15 янв 2016, 17:59, всего редактировалось 1 раз.
Inessa
UNITрон
 
Сообщения: 160
Зарегистрирован: 13 мар 2013, 11:56

Re: Странное поведение метода Application.Quit()

Сообщение Inessa 06 янв 2016, 23:46

Ага. Понятно.

Не увидела новый пост в теме пока набирала свой предыдущий.
Последний раз редактировалось Inessa 06 янв 2016, 23:54, всего редактировалось 1 раз.
Inessa
UNITрон
 
Сообщения: 160
Зарегистрирован: 13 мар 2013, 11:56

Re: Странное поведение метода Application.Quit()

Сообщение Cr0c 06 янв 2016, 23:49

Это не запущенное приложения, а список последних запущенных. И даже если свернуть приложение не выходя, то при нехватке памяти ОС самостоятельно выгрузит приложения из памяти.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Странное поведение метода Application.Quit()

Сообщение waruiyume 06 янв 2016, 23:55

А с чего все решили, что оно не выгружается, если в настройках, в запущенных, приложения нет?
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Странное поведение метода Application.Quit()

Сообщение ilka 07 янв 2016, 00:06

Так а что вы хотите получить? Выйти из приложения - вышли, дальше уже система все сделает, или у вас какая то логика от на этом составлена?
У меня тоже самое, выход через Application.Quit() и все как надо работает.
ilka
UNIверсал
 
Сообщения: 478
Зарегистрирован: 21 авг 2015, 19:32

Re: Странное поведение метода Application.Quit()

Сообщение Cr0c 07 янв 2016, 00:13

Девушка перепутала диспетчер задач и список последних запущенных :-)
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Странное поведение метода Application.Quit()

Сообщение waruiyume 07 янв 2016, 00:15

Раз уж пошла такая пьянка, я правильно понял, что Юнити приложения нельзя свернуть(они не попадают в кешированые)? Что это вообще "кешированые", типа как свап в Винде?
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Странное поведение метода Application.Quit()

Сообщение Inessa 07 янв 2016, 00:16

Насколько я поняла, то при сворачивании приложения при длительном удержании аппаратной клавиши Home в кэше на устройстве остаётся активным моё приложение.

Когда я свайпом удаляю приложение из списка (см. скриншот), то соответствующий процесс с приложением исчезает из кэша процессов.

А как можно в дополнении к вызову метода Application.Quit() взять и программно удалить всё ещё активный процесс моего приложения в кэше процессов?
Последний раз редактировалось Inessa 07 янв 2016, 00:18, всего редактировалось 1 раз.
Inessa
UNITрон
 
Сообщения: 160
Зарегистрирован: 13 мар 2013, 11:56

Re: Странное поведение метода Application.Quit()

Сообщение ilka 07 янв 2016, 00:17

А как можно в дополнении к вызову метода Application.Quit() взять и программно удалить всё ещё активный процесс моего приложения в кэше процессов?

Оо если найдете решение сообщите мне, хотя думаю в интернете оно есть.
ilka
UNIверсал
 
Сообщения: 478
Зарегистрирован: 21 авг 2015, 19:32

Re: Странное поведение метода Application.Quit()

Сообщение waruiyume 07 янв 2016, 00:19

Я проверил на 4 Юнити приложениях, при нажатии программной кнопки назад (треугольник, я хз как он называется)- все приложения выгрузились.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Странное поведение метода Application.Quit()

Сообщение Inessa 07 янв 2016, 00:29

Я веду речь о программном вызове метода выхода из своего приложения по определённому событию, а не при помощи нажатия аппаратной кнопки Back.

После отработки метода метода Application.Quit() приложение остаётся активным в кэше.

См. меню Настройки -> Работающие -> Показать процессы в кэше.

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

Вопрос заключается в том, как программно можно удалить всё ещё активный процесс моего приложения в кэше процессов после отработки метода Application.Quit()?
Inessa
UNITрон
 
Сообщения: 160
Зарегистрирован: 13 мар 2013, 11:56

Re: Странное поведение метода Application.Quit()

Сообщение waruiyume 07 янв 2016, 01:08

5.3.1p1 Application.Quit закрывает приложение, его нет в кешированых. Внезапно, кнопка назад не работает, зато работает квадрат, который сварачивает приложзение и то попадает в кешированые, чудно однако (popcorn)
Программа называется matRot https://yadi .sk/d/Zszn3OW6miP9Z

А в чём, собственно, прикол с этим заморачиваться, не закрылось, ну пёс с ним, на огрызкофоне, кнопку "выход", вообще, делать запрещено?
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

След.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 28