Android GreenDAO 通过 Key 查询数据库数据慢问题优化

一、背景

在数据库中插入了应用数据,需要通过packageName遍历查询对比应用数据,如果有十来条数据,逐条查询很慢,在页面上显示很不友好,故需要优化单条查询速度

二、解决方案

数据库配置优化

复制代码
// 创建数据库时配置
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "db-name") {
    @Override
    public void onConfigure(SQLiteDatabase db) {
        super.onConfigure(db);
        // 启用WAL模式可以提高并发性能
        db.enableWriteAheadLogging();
        // 其他优化设置
        db.setForeignKeyConstraintsEnabled(true);
    }
};