2016-08-08 19 views
0

SyncAdapterクラスに次の例外がスローされることがあります。 I 私はすべてのカーソルを正しく閉じると思います。なぜこの例外がスローされているのか他の説明がありますか?または、間違いなくcursor.close()がどこかにありませんか?SyncAdapterでCursorWindowAllocationExceptionがスローされる

Fatal Exception: android.database.CursorWindowAllocationException: Cursor window could not be created from binder. 
     at android.database.CursorWindow.<init>(CursorWindow.java:150) 
     at android.database.CursorWindow.<init>(CursorWindow.java:42) 
     at android.database.CursorWindow$1.createFromParcel(CursorWindow.java:698) 
     at android.database.CursorWindow$1.createFromParcel(CursorWindow.java:696) 
     at android.database.BulkCursorDescriptor.readFromParcel(BulkCursorDescriptor.java:75) 
     at android.database.BulkCursorDescriptor$1.createFromParcel(BulkCursorDescriptor.java:34) 
     at android.database.BulkCursorDescriptor$1.createFromParcel(BulkCursorDescriptor.java:30) 
     at android.content.ContentProviderProxy.query(ContentProviderNative.java:424) 
     at android.content.ContentProviderClient.query(ContentProviderClient.java:161) 
     at android.content.ContentProviderClient.query(ContentProviderClient.java:123) 
     at com.forever.forever.Utils.sync.SyncAdapter.getNextItemInUploadQueue(SyncAdapter.java:799) 
     at com.forever.forever.Utils.sync.SyncAdapter.proccessUploads(SyncAdapter.java:697) 
     at com.forever.forever.Utils.sync.SyncAdapter.onPerformSync(SyncAdapter.java:199) 
     at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:272) 

答えて

0

私は)自分のアプリケーションのonCreate(に次のスニペットを追加することで、追加の閉鎖可能なリークを見つけることができた:

if(BuildConfig.DEBUG){ 
     StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() 
       .detectLeakedSqlLiteObjects() 
       .detectLeakedClosableObjects() 
       .penaltyLog() 
       .build()); 
    } 

それは私が修正することができたカップルのリークをログに記録。これは非常に有益な開発ツールです。

関連する問題