SQLite
 sql >> Datenbank >  >> RDS >> SQLite

java.lang.OutOfMemoryError:[Speicher erschöpft] beim Lesen von Daten von Sqlite Android

Ihre Schleife endet nie, da Sie bei jeder Iteration den Index des Cursors mit moveToFirst() auf die erste Zeile setzen ohne zur nächsten Zeile vorzurücken.
Verwenden Sie moveToNext() nur:

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();
}