如何在简单的非活动 java 类中创建类似于 onDestroy 的方法?

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的实现是否正确?

非常感谢您抽出时间,

Rus*_*tam 3

你不能这样做,因为GC它会自动处理。

因为 Java 是一种垃圾收集语言,所以您无法预测对象何时(甚至是否)将被销毁。因此,不存在与析构函数直接等价的东西。有一个名为 Finalize 的继承方法,但这完全由垃圾收集器自行决定调用。

敲定

可以使用类似于 Java 中析构函数的方法,即 Object.finalize() 方法,但该方法的工作方式与标准析构函数不同。