Android ContentSproviderロック
-
26-10-2019 - |
質問
ContentProviderの関数にReadWritELockを使用する必要がありますか?
ContentSproviderのクエリでは、getReadableDataBaseを実行し、その開いているかどうかを確認してクエリを実行します。しかし、時にはデータベースが散らばった脱出でクラッシュします。これは、他のプロセスが最初のプロセスを閉じるgetwritebledatabaseを実行する挿入物を実行する可能性があります。
コンテンツスプロバイダーにクエリと挿入を絶えずクエリして挿入するアプリとサービスを使用しています。したがって、ContentProviderはThreadSafeではないようです。
関数を同期させるのに役立ちますか?
ありがとう!
解決
ContentSproviderのクエリでは、getReadableDataBaseを実行し、その開いているかどうかを確認してクエリを実行します。しかし、時にはデータベースが散らばった脱出でクラッシュします。これは、他のプロセスが最初のプロセスを閉じるgetwritebledatabaseを実行する挿入物を実行する可能性があります。
あなたはあなたのデータベースを寿命のために開いたままにしておくべきです ContentProvider
, 、 私の知る限り。
したがって、ContentProviderはThreadSafeではないようです。
afaik、a ContentProvider
1つのスレッドでのみ呼び出されます。
ContentProvider
主にファサードであり、本質的な糸の安全性を提供しません。
所属していません StackOverflow