Jea*_*ean 5 java android ondestroy
我想在类的实例关闭或销毁时执行一两个操作。我正在寻找类似于活动中 onDestroy 的东西。
编辑
我添加了代码,指出如何从 Helper 类返回 SQLiteDatabase。我使用最终代码来确保数据库已关闭。
public class PMDBDatabase {
private static SQLiteDatabase DataBase = null;
private static PMDBHelper dbHelper = null;
public SQLiteDatabase getDatabase(Context ctx) throws SQLException {
if (DataBase == null) {
dbHelper = PMDBHelper.getInstance(ctx);
DBOpen();
} else
if(!DataBase.isOpen())
DBOpen();
return DataBase;
}
private void DBOpen() throws SQLException {
DataBase = dbHelper.getWritableDatabase();
}
public void close(){
if(DataBase != null) DataBase.close();
}
protected void finalize() throws Throwable {
try {
close();
} finally {
super.finalize();
}
}
}
Run Code Online (Sandbox Code Playgroud)
请您帮助这位Java/Android编程新手并指出finalize的实现是否正确?
非常感谢您抽出时间,
让
你不能这样做,因为GC它会自动处理。
因为 Java 是一种垃圾收集语言,所以您无法预测对象何时(甚至是否)将被销毁。因此,不存在与析构函数直接等价的东西。有一个名为 Finalize 的继承方法,但这完全由垃圾收集器自行决定调用。
敲定
可以使用类似于 Java 中析构函数的方法,即 Object.finalize() 方法,但该方法的工作方式与标准析构函数不同。
| 归档时间: |
|
| 查看次数: |
4459 次 |
| 最近记录: |