Я получаю такую трассировку стека:
android.database.sqlite.SQLiteException: no such table: someTa???: , while compiling: SELECT COUNT(*) FROM someTa??? WHERE a = ? AND b = ?
at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:91)
at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:80)
at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:46)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1315)
Обратите внимание, что SQL поврежден, вместо someTable Я вижу someTa ??? , где?обозначает символ 0x1A.Это происходит только иногда (очень редко).
Я создаю строку запроса SQL, используя StringBuilder и String.format.
Вопрос в том, кто портит память?Это среда выполнения Android или SQLite?Может быть, это известная ошибка?