开发者

Android contentprovider lock

Should I use a ReadWriteLock on the functions of the contentprovider?

In the query of the contentprovider I do getReadableDatabase, then check if its open and do the query. But sometimes it crashes o开发者_JAVA技巧n DatabaseIsClosed exeption. This could be that an other process does an insert that does a getWritebleDatabase which closes the first one.

I am using an app and a service who query and insert on the contentprovider constantly. So it seems that the contentprovider isn't threadsafe.

Could it help to make the function synchronized?

Thanks!


In the query of the contentprovider I do getReadableDatabase, then check if its open and do the query. But sometimes it crashes on DatabaseIsClosed exeption. This could be that an other process does an insert that does a getWritebleDatabase which closes the first one.

You should be keeping your database open for the lifetime of the ContentProvider, AFAIK.

So it seems that the contentprovider isn't threadsafe.

AFAIK, a ContentProvider is only ever called on one thread.

ContentProvider is mostly a facade and does not provide any intrinsic thread safety.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜