SQLite
 sql >> Database >  >> RDS >> SQLite

java.lang.OutOfMemoryError:[memoria esaurita] durante la lettura dei dati da Sqlite Android

Il tuo ciclo non finisce mai perché in ogni iterazione imposti l'indice del cursore sulla prima riga con moveToFirst() senza passare alla riga successiva.
Utilizza moveToNext() solo:

public void ReadSqliteData(Context context){
    ArrayList<Model> list = new ArrayList<>();
    Adpter adpter = new Adpter(list,context);
    SQLiteDatabase database = getWritableDatabase();
    Cursor cursor = database.rawQuery("Select name, image from orders",null);
    while (cursor.moveToNext()){
        Model model = new Model();
        model.setImage(cursor.getString(0));            
        model.setName(cursor.getString(1));    
        list.add(model);
    }
    adpter.notifyDataSetChanged();
    cursor.close();
    database.close();
}