Как лучше всего закрыть курсор ..
У меня есть такой запрос
@SuppressLint("StaticFieldLeak")
class query1 extends AsyncTask<Void, Void, Void>
{
@Override
protected Void doInBackground(Void... voids) {
db = new DatabaseHelper(getApplicationContext());
sqLiteDatabase = db.getReadableDatabase();
Cursor select_a_file = sqLiteDatabase.rawQuery("SELECT file FROM table1 WHERE id = '" + edittext1.getText().toString() + "'", null);
while (ave_kwh_used.moveToNext())
{
firstdata = select_a_file.getString(0);
select_a_file.close();
}
return null;
}
}
И у меня получилось около 40 из них, которые запускаются каждый раз, когда я нажимаю кнопку
У меня также есть запрос на вставку и вычисления, которые также выполняются внутри фонового потока.
После нажатия этой кнопки происходит выбор, вычисление и вставка ..
проблема в том, что когда я делаю это несколько раз, мое приложение вылетает, и оно говорит что-то вроде этого
W/zygote64: ashmem_create_region failed for 'indirect ref table': Too many open files
E/SQLiteLog: (14) cannot open file at line 35807 of [553a923c82]
(14) os_unix.c:35807: (24) open(/data/user/0/com.vicjames.qiimeterreader/databases/Meter_Reader) -
E/SQLiteDatabase: Failed to open database '/data/user/0/com.vicjames.qiimeterreader/databases/Meter_Reader'.
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)