Существует ли какой-либо стандартный способ явного закрытия служб и других ресурсов?
Например, при использовании подключения к базе данных, потоков или потоков ввода-вывода (все, что требуется для явного закрытия / освобождения), существует ли какой-либо стандартный способ сделать это? Возможно, путем реализации какого-то стандартного интерфейса, чтобы потребитель Framework/ класса смог вызвать эту логику очистки ресурсов для моего класса?
Для тех, кто имеет некоторый опыт работы с .NET Framework
аналог будет IDisposable
интерфейс, поэтому, реализуя этот интерфейс, я могу поместить всю логику очистки ресурсов в Dispose()
метод, так что потребители класса смогут проверить, реализует ли экземпляр класса IDisposable
интерфейс, а затем позвоните Dispose()
в явном виде.
Есть ли что-то встроенное в Android?
1 ответ
Да, у Служб и Мероприятий есть жизненные циклы. Когда они закрыты, вызывается метод onDestroy(). В Android есть несколько методов жизненного цикла, и очень важно узнать, когда что использовать. Это описано на следующих страницах: http://developer.android.com/reference/android/app/Activity.html http://developer.android.com/reference/android/app/Service.html
Из этих методов onDestroy() вы должны закрыть свои ресурсы. Если у вас есть много ресурсов для закрытия, вы можете разрешить им реализовать интерфейс и сохранить эти ресурсы в коллекции, чтобы вы могли просматривать свои ресурсы при вызове onDestroy.