Коллеги, с созданием синглтонов мне все понятно, но тут возник следующий вопрос:
Возможно ли прописать классу синглтона деструктор, который бы при разрушении объекта сохранял бы автоматически данные?
Просто сохранять данные при каждом чихе как-то напрягает, и сохранять их имеет смысл только перед уничтожением объекта системой.
Если это возможно, наведите на путь истинный
Деструктор в Singleton
Re: Деструктор в Singleton
Кто-нибудь переопределял в своих классах метод protected void finalize ()?
Нормально ли он работает?
Нормально ли он работает?
Re: Деструктор в Singleton
Знач заходи на youtube.com в поле поиска впиши do the harlem shake и нажми enter. Отвлекись от проблемы =)
CEO of a company R.id.team
Re: Деструктор в Singleton
Finch
Развлеклись и хватит.
А теперь серьезно давай отвечать на вопросы. Метод protected void finalize () вызывается сборщиком мусора виртуальной машины. Но будет ли вызван этот метод при том, что система к примеру убила приложение?
Развлеклись и хватит.
А теперь серьезно давай отвечать на вопросы. Метод protected void finalize () вызывается сборщиком мусора виртуальной машины. Но будет ли вызван этот метод при том, что система к примеру убила приложение?
Re: Деструктор в Singleton
на все 100% не уверен, но на 90% уверен что не будет вызванНо будет ли вызван этот метод при том, что система к примеру убила приложение?
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Деструктор в Singleton
не будет т.к. finalize() вызывается gc а если система убивает приложение - данные остаются. Это в том случае если вы хотите их восстановить. Так работают сервисы, например. Можете в этом убедится. Переопределите onDestroy в приложении и при случае,когда система убивает процесс, в случае нужного флага, onDestroy не выполнится, а будет ждать явного вызова stopService.
Re: Деструктор в Singleton
То есть имеет смысл прописать finalize() только как подстраховку, для точного сохранения данных, но все так же сохранять данные при set'ерах.MeTeOpA писал(а):не будет т.к. finalize() вызывается gc а если система убивает приложение - данные остаются. Это в том случае если вы хотите их восстановить. Так работают сервисы, например. Можете в этом убедится. Переопределите onDestroy в приложении и при случае,когда система убивает процесс, в случае нужного флага, onDestroy не выполнится, а будет ждать явного вызова stopService.
А по поводу флагов в сервисах можно поподробней, а то у меня не получалось, чтоб при убийстве процесса сервиса системой, вызывался метод onDestroy в сервисе.