Форум программистов, компьютерный форум CyberForum.ru

Не вызывается onDestroy при принудительно остановке приложения - Android

Войти
Регистрация
Восстановить пароль
 
AndroidProg
3 / 3 / 1
Регистрация: 21.10.2012
Сообщений: 58
29.09.2013, 11:58     Не вызывается onDestroy при принудительно остановке приложения #1
Есть приложение с использованием нативной библиотеки.
В onCreate вызывается метод инициализации этой библиотеки(выделяется память и тд.)
В onDestroy вызывается метод в котором освобождается выделенная память.

Java
1
2
3
4
5
6
    @Override
    public void onDestroy()
    {
        super.onDestroy();
        k.DeInit();   //Нативные метод, в нём освобождается выделенная память.
    }
Так вот при нажатии кнопки "Назад", onDestroy отлично срабатывает, память освобождается.

А если свернуть приложение и закрыть (Настройки->Приложения->MyApp->Остановить или по долгому нажатию кнопки "На главный экран") то onDestroy не срабатывает.

Вопрос, при принудительной остановке приложения выделенная в нативе память освобождается автоматически?
Если нет, то как тут быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2013, 11:58     Не вызывается onDestroy при принудительно остановке приложения
Посмотрите здесь:

Android Ошибка при запуске приложения
Как принудительно выбрать drawable Android
Ошибка приложения, при изменении эмулятора Android
Android Оптимизация приложения. Слишком часто вызывается GC
Android Как отловить остановку приложения, если не срабатывает onDestroy
Android Запуск приложения при входящем звонке
Ошибка при создании приложения Android
Вызов onDestroy() без вызовов onPause() и onStop() Android
Android Ошибка при запуске приложения
Service onDestroy и System.exit(0); Android
Уведомление пользователя при выходе из приложения Android
Не отрабатывает onDestroy() Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Netscape
 Аватар для Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
29.09.2013, 13:36     Не вызывается onDestroy при принудительно остановке приложения #2
Ну, при "Force stop" onDestroy точно не вызовется, поскольку ос посылает killProcess.
Получается, что вся выделенная память для процесса освобождается, независимо от того где и как она была выделена.
AndroidProg
3 / 3 / 1
Регистрация: 21.10.2012
Сообщений: 58
29.09.2013, 14:01  [ТС]     Не вызывается onDestroy при принудительно остановке приложения #3
Отлично, спасибо.
Есть ещё один вопрос, уже спрашивал но толком не разобрался.
Если активити остановлено, то есть был вызван onStop но не был вызван onDestroy, все данные сохраняются - объекты, переменные и тд. Но почему не сохраняются загруженные текстуры OpenGL?
При разворачивании приложения текстуры все белые.
Yandex
Объявления
29.09.2013, 14:01     Не вызывается onDestroy при принудительно остановке приложения
Ответ Создать тему
Опции темы

Текущее время: 19:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru