1
resposta

Liberar da memória

Bom Dia

Gostaria de verificar se não é necessário o comando db.close no final da função buscaAlunos() para liberar a conexão do banco criada através do comando SQLiteDatabase db = getReadableDatabase() ?

 public List <Aluno> buscaAlunos() {
        String sql = "SELECT * FROM Alunos;";
        SQLiteDatabase db = getReadableDatabase();
        Cursor c = db.rawQuery(sql,null);
        List<Aluno> alunos = new ArrayList <Aluno>();
        while (c.moveToNext()) {
            Aluno aluno = new Aluno();
            aluno.setId(c.getLong(c.getColumnIndex("id")));
            aluno.setNome(c.getString(c.getColumnIndex("nome")));
            aluno.setEndereco(c.getString(c.getColumnIndex("endereco")));
            aluno.setTelefone(c.getString(c.getColumnIndex("telefone")));
            aluno.setSite(c.getString(c.getColumnIndex("site")));
            aluno.setNota(c.getDouble(c.getColumnIndex("nota")));
            alunos.add(aluno);
        }
        c.close();
        db.close();

        return alunos;
    }
1 resposta

Não precisa não. O banco de dados se fecha sozinho por time out.