例如,当使用数据库连接,线程或IO流(所有需要显式关闭/释放)时,是否有一些标准的方法来做到这一点?也许通过实现一些标准接口,框架/类消费者将能够调用这个资源清理逻辑为我的类?
对于那些有.NET Framework
类似的IDisposable
接口经验的人来说,所以通过实现这个接口,我可以把所有的资源清理逻辑放在Dispose()
方法中,这样类消费者就可以检查一个类的实例是否实现了IDisposable
接口,然后显式地调用Dispose()
。
是不是也有Android内置的东西?
是的,服务和活动都有生命周期。当它们被"关闭"时,将调用onDestroy()方法。Android中有多种生命周期方法,了解什么时候使用什么方法非常重要。这在以下几页有描述:http://developer.android.com/reference/android/app/Activity.htmlhttp://developer.android.com/reference/android/app/Service.html
从这些onDestroy()方法中,你应该关闭你的资源。如果你有很多资源要关闭,你可能想让他们实现一个接口,并将这些资源存储到一个集合中,这样当onDestroy被调用时,你就可以循环遍历你的资源。