在Parse中从本地数据存储区中获取时超过游标配额100

时间:2015-01-07 06:35:56

标签: android parse-platform

我知道必须有很多游标没有关闭。但Parse剂量没有任何方法可以做到这一点。希望Parse开发人员可以帮我看看。

代码:如果不需要从云端更新,则从本地数据存储区获取

    ParseQuery<ParseObject> query = ParseQuery.getQuery(PARSE_CLASS);
    if(!remote) {
        logD("fetch from local server");
        query.fromPin(PIN_LABEL);
    }
    query.findInBackground(new FindCallback<ParseObject>() {

        @Override
        public void done(final List<ParseObject> list, ParseException e) {
            if(null == e) {
                logD("get list size " + list.size());
                if(remote) {
                    ParseObject.unpinAllInBackground(PIN_LABEL, new DeleteCallback() {
                        @Override
                        public void done(ParseException parseexception) {
                            ParseObject.pinAllInBackground(PIN_LABEL, list);        
                        }
                    });
                }
                initialize(list);
            } else {
                e.printStackTrace();
            }
        }
    });

下面是ParseException。

01-07 13:57:24.386: W/System.err(23995): Caused by: java.lang.IllegalStateException: Process 23995    exceeded cursor quota 100, will kill it 01-07 13:57:24.386: W/System.err(23995): at android.database.CursorWindow$Injector.checkQuota(CursorWindow.java:85) 01-07 13:57:24.386: W/System.err(23995):     at android.database.CursorWindow$Injector.addQuota(CursorWindow.java:73)
01-07 13:57:24.386: W/System.err(23995):    at android.database.CursorWindow.recordNewWindow(CursorWindow.java:810)
01-07 13:57:24.386: W/System.err(23995):    at android.database.CursorWindow.<init>(CursorWindow.java:192)
01-07 13:57:24.386: W/System.err(23995):    at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
01-07 13:57:24.386: W/System.err(23995):    at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:139)
01-07 13:57:24.386: W/System.err(23995):    at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133)
01-07 13:57:24.386: W/System.err(23995):    at com.parse.ParseSQLiteDatabase(2.then(ParseSQLiteDatabase.java:214)
01-07 13:57:24.386: W/System.err(23995):    at com.parse.ParseSQLiteDatabase(2.then(ParseSQLiteDatabase.java:205)
01-07 13:57:24.386: W/System.err(23995):    at bolts.Task(0.run(Task.java:486)
01-07 13:57:24.386: W/System.err(23995):    at bolts.BoltsExecutors$ImmediateExecutor.execute(BoltsExecutors.java:97)
01-07 13:57:24.386: W/System.err(23995):    at bolts.Task.completeAfterTask(Task.java:482)
01-07 13:57:24.386: W/System.err(23995):    at bolts.Task.continueWithTask(Task.java:358)
01-07 13:57:24.386: W/System.err(23995):    at bolts.Task.continueWithTask(Task.java:369)
01-07 13:57:24.386: W/System.err(23995):    at bolts.Task$8.then(Task.java:415)
01-07 13:57:24.386: W/System.err(23995):    at bolts.Task$8.then(Task.java:407)
01-07 13:57:24.386: W/System.err(23995):    at bolts.Task(0.run(Task.java:486)
01-07 13:57:24.386: W/System.err(23995):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
01-07 13:57:24.386: W/System.err(23995):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
01-07 13:57:24.386: W/System.err(23995):    at java.lang.Thread.run(Thread.java:856)))))

0 个答案:

没有答案