Closed 01100044093 closed 4 years ago
可以是用最新的sdk,优化了这方面的问题
jcenter()
implementation 'com.aliyun.openservices:aliyun-log-android-sdk:2.4.0'
我的应用上市场后,经常在android 9抓到此BUG
android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=6
at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:904)
at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:851)
at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:149)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:137)
at org.greenrobot.greendao.a.d(Proguard:453)
at org.greenrobot.greendao.a.c(Proguard:203)
at org.greenrobot.greendao.f.a(Proguard:37)
at org.greenrobot.greendao.c.f.b(Proguard:89)
at com.aliyun.sls.android.sdk.g.b(Proguard:84)
at com.aliyun.sls.android.sdk.a.c(Proguard:85)
at com.aliyun.sls.android.sdk.a.b(Proguard:19)
at com.aliyun.sls.android.sdk.a$a.run(Proguard:68)
at java.util.TimerThread.processTask(Timer.java:569)
at java.util.TimerThread.mainLoop(Timer.java:527)
at java.util.TimerThread.run(Timer.java:512)
配置为:
ClientConfiguration txtconf = new ClientConfiguration();
txtconf.setConnectionTimeout(15 * 1000); // 连接超时,默认15秒
txtconf.setSocketTimeout(15 * 1000); // socket超时,默认15秒
txtconf.setMaxConcurrentRequest(1); // 最大并发请求书,默认5个
txtconf.setMaxErrorRetry(1); // 失败后最大重试次数,默认2次
txtconf.setCachable(true);
txtconf.setConnectType(ClientConfiguration.NetworkPolicy.WWAN_OR_WIFI);
我无法捕抓跳过此异常 请你们修复 oss-android-sdk 使用的是 2.4.2
2020-06-25 12:14:38.058 12191-13081/com.touchez.townmall W/CursorWindow: Window is full: requested allocation 2835196 bytes, free space 2096618 bytes, window size 2097152 bytes 2020-06-25 12:14:38.061 12191-13081/com.touchez.townmall E/SQLiteQuery: exception: Row too big to fit into CursorWindow requiredPos=2, totalRows=3; query: SELECT T."_id",T."END_POINT",T."PROJECT",T."STORE",T."JSON_STRING",T."TIMESTAMP" FROM "LOG_ENTITY" T WHERE T."TIMESTAMP"<=? ORDER BY T.'TIMESTAMP' ASC LIMIT ? 2020-06-25 12:14:38.070 12191-13081/com.touchez.townmall E/AndroidRuntime: FATAL EXCEPTION: Timer-5 Process: com.touchez.townmall, PID: 12191 android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=2, totalRows=3 at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method) at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:904) at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:851) at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62) at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:157) at android.database.sqlite.SQLiteCursor.onMove(SQLiteCursor.java:128) at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:237) at android.database.AbstractCursor.moveToNext(AbstractCursor.java:269) at org.greenrobot.greendao.AbstractDao.moveToNextUnlocked(AbstractDao.java:521) at org.greenrobot.greendao.AbstractDao.loadAllUnlockOnWindowBounds(AbstractDao.java:501) at org.greenrobot.greendao.AbstractDao.loadAllFromCursor(AbstractDao.java:480) at org.greenrobot.greendao.AbstractDao.loadAllAndCloseCursor(AbstractDao.java:203) at org.greenrobot.greendao.InternalQueryDaoAccess.loadAllAndCloseCursor(InternalQueryDaoAccess.java:37) at org.greenrobot.greendao.query.Query.list(Query.java:89) at com.aliyun.sls.android.sdk.SLSDatabaseManager.queryRecordFromDB(SLSDatabaseManager.java:84) at com.aliyun.sls.android.sdk.CacheManager.fetchDataFromDBAndPost(CacheManager.java:85) at com.aliyun.sls.android.sdk.CacheManager.access$100(CacheManager.java:19) at com.aliyun.sls.android.sdk.CacheManager$CacheTimerTask.run(CacheManager.java:68) at java.util.TimerThread.processTask(Timer.java:569) at java.util.TimerThread.mainLoop(Timer.java:527) at java.util.TimerThread.run(Timer.java:512)
时间改为未来,必然失败,打开APP缓存传,一直积累。直接变成打开APP就闪退