[Android]CursorWindow: Could not allocate Cursor

批量同步联系人时发生:

12-19 09:12:27.814 29746 29746 I pim     : Contacts onChange() state = 785

12-19 09:12:27.824  1207  1207 V ContactObserverService: CountDown 10000 
12-19 09:12:27.824  1075  4205 I ContactsProvider: includeDataUsageStat is true 
12-19 09:12:28.114  1207  4243 V ContactObserverService: ContactObserver onChange 
12-19 09:12:28.114  1207  1207 V ContactObserverService: CountDown 9999 
12-19 09:12:28.114 29746 29746 I pim     : Contacts onChange() state = 786 
12-19 09:12:28.194 29746 31143 E pim     : entry end time = 1112 
12-19 09:12:28.194 29746 31143 I pim     : mStatus = 0 model._Id =3236 
12-19 09:12:28.194 29746 31143 I pim     : end one contact 
12-19 09:12:28.194 29746 31143 I pim     : begin input vcard to contact 
12-19 09:12:28.204 29746 31143 I pim     : VCardEntryCommitter -->onEntryCreated()Foxconn2934 
12-19 09:12:28.204 29746 31143 E pim     : displayName =Foxconn2934 
12-19 09:12:28.284  1075  4180 I ContactsProvider: includeDataUsageStat is true 
12-19 09:12:28.585 29746 31143 I pim     : mapEntry.size() =1 
12-19 09:12:28.665  1207  1207 I DefaultContactListAdapter: this cursor has phone number column 
12-19 09:12:28.685  1207  1207 I DefaultContactListAdapter: this cursor has phone number column 
12-19 09:12:28.685  1207  1207 I DefaultContactListAdapter: this cursor has phone number column 
12-19 09:12:28.685  1207  1207 I DefaultContactListAdapter: this cursor has phone number column 
12-19 09:12:28.685  1207  1207 I DefaultContactListAdapter: this cursor has phone number column 
12-19 09:12:28.745  1075  1078 D dalvikvm: GC_CONCURRENT freed 1556K, 17% free 13685K/16464K, paused 3ms+5ms, total 84ms 
12-19 09:12:28.865 29746 29746 I pim     : Contacts onChange() state = 787 
12-19 09:12:28.865  1207  4190 V ContactObserverService: ContactObserver onChange 
12-19 09:12:28.865  1207  1207 V ContactObserverService: CountDown 10000 
12-19 09:12:28.895  1075  4312 I ContactsProvider: includeDataUsageStat is true 
12-19 09:12:29.125 29746 29746 I pim     : Contacts onChange() state = 788 
12-19 09:12:29.125  1207  4279 V ContactObserverService: ContactObserver onChange 
12-19 09:12:29.125  1207  1207 V ContactObserverService: CountDown 10000 
12-19 09:12:29.235 29746 31143 E pim     : entry end time = 1030 
12-19 09:12:29.235 29746 31143 I pim     : mStatus = 0 model._Id =2893 
12-19 09:12:29.235 29746 31143 I pim     : end one contact 
12-19 09:12:29.235 29746 31143 I pim     : begin input vcard to contact 
12-19 09:12:29.235 29746 31143 I pim     : VCardEntryCommitter -->onEntryCreated()Foxconn2780 
12-19 09:12:29.235 29746 31143 E pim     : displayName =Foxconn2780 
12-19 09:12:29.326  1075  4280 I ContactsProvider: includeDataUsageStat is true 
12-19 09:12:29.356  1075  4229 E CursorWindow: Could not allocate CursorWindow '/data/user/0/com.android.providers.contacts/databases/contacts2.db' of size 2097152 due to error -12. 
12-19 09:12:29.366  1075  4229 E JavaBinder: *** Uncaught remote exception!  (Exceptions are not yet supported across processes.) 
12-19 09:12:29.366  1075  4229 E JavaBinder: android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=594 (# cursors opened by pid 1207=594) 
12-19 09:12:29.366  1075  4229 E JavaBinder: at android.database.CursorWindow.<init>(CursorWindow.java:104) 
12-19 09:12:29.366  1075  4229 E JavaBinder: at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
12-19 09:12:29.366  1075  4229 E JavaBinder: at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:139) 
12-19 09:12:29.366  1075  4229 E JavaBinder: at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133) 
12-19 09:12:29.366  1075  4229 E JavaBinder: at android.database.CursorToBulkCursorAdaptor.getBulkCursorDescriptor(CursorToBulkCursorAdaptor.java:143)
12-19 09:12:29.366  1075  4229 E JavaBinder: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:118) 
12-19 09:12:29.366  1075  4229 E JavaBinder: at android.os.Binder.execTransact(Binder.java:351) 
12-19 09:12:29.366  1075  4229 E JavaBinder: at dalvik.system.NativeStart.run(Native Method) 
12-19 09:12:29.366 29746 31143 E pim     : cursorSystem = 0 
12-19 09:12:29.736  1207  4239 V ContactObserverService: ContactObserver onChange 
12-19 09:12:29.736  1207  1207 V ContactObserverService: CountDown 10000 
12-19 09:12:29.736 29746 29746 I pim     : Contacts onChange() state = 789 
12-19 09:12:29.746  1075  1113 I ContactsProvider: includeDataUsageStat is true 
12-19 09:12:29.866 29746 31143 E pim     : entry end time = 626 
12-19 09:12:29.866 29746 31143 I pim     : mStatus = 0 model._Id =3286 
12-19 09:12:29.866 29746 31143 I pim     : end one contact 
12-19 09:12:29.866 29746 31143 I pim     : begin input vcard to contact 
12-19 09:12:29.866 29746 31143 I pim     : VCardEntryCommitter -->onEntryCreated()Foxconn3034 
12-19 09:12:29.866 29746 31143 E pim     : displayName =Foxconn3034 
12-19 09:12:29.876  1075  4280 E CursorWindow: Could not allocate CursorWindow '/data/user/0/com.android.providers.contacts/databases/contacts2.db' of size 2097152 due to error -12. 
12-19 09:12:29.896  1075  4280 E JavaBinder: *** Uncaught remote exception!  (Exceptions are not yet supported across processes.) 
12-19 09:12:29.896  1075  4280 E JavaBinder: android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=594 (# cursors opened by pid 1207=594) 
12-19 09:12:29.896  1075  4280 E JavaBinder: at android.database.CursorWindow.<init>(CursorWindow.java:104) 
12-19 09:12:29.896  1075  4280 E JavaBinder: at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
12-19 09:12:29.896  1075  4280 E JavaBinder: at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:139) 
12-19 09:12:29.896  1075  4280 E JavaBinder: at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133) 
12-19 09:12:29.896  1075  4280 E JavaBinder: at com.android.providers.contacts.ContactsProvider2.getFastScrollingIndexExtras(ContactsProvider2.java:6334)
12-19 09:12:29.896  1075  4280 E JavaBinder: at com.android.providers.contacts.ContactsProvider2.bundleFastScrollingIndexExtras(ContactsProvider2.java:6242)
12-19 09:12:29.896  1075  4280 E JavaBinder: at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6137)
12-19 09:12:29.896  1075  4280 E JavaBinder: at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4819) 
12-19 09:12:29.896  1075  4280 E JavaBinder: at android.content.ContentProvider$Transport.query(ContentProvider.java:189) 
12-19 09:12:29.896  1075  4280 E JavaBinder: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113) 
12-19 09:12:29.896  1075  4280 E JavaBinder: at android.os.Binder.execTransact(Binder.java:351) 
12-19 09:12:29.896  1075  4280 E JavaBinder: at dalvik.system.NativeStart.run(Native Method) 
12-19 09:12:29.896  1207  1207 D AndroidRuntime: Shutting down VM 


应该是系统资源(-12可能是内存耗尽吧)耗尽类的问题,请问有解么?


你可能感兴趣的:([Android]CursorWindow: Could not allocate Cursor)