2010-12-07 9 views

答えて

2

はどのようにあなたのUIが振る舞うのでしょうか?突然スムーズで応答性が高い場合は、他のスレッドがロックを解除するのを待っている間に実際にブロックされていることがわかります。

しかし、それでも差異がなく、それでもまだまだ問題がある場合は、バックグラウンドスレッドがビジー状態である、つまりCPU時間のUIスレッドが枯渇しているという問題があることがわかります。

+0

上記のように、私は本当に私のアプリがblcokingているかどうかを知りたいと思います。私のデータベースをsychronizingすることなく、SQLiteのAndroid実装に関する問題をかなり確実に解決することができますので、しばらくお待ちください。それはまた私が愛しているJavaにC++から来ていることを私に思い出させます、私はこのために非常に便利である#defineを見逃します。 – aronp

+0

私はあなたのUIスレッドと同期したメソッドでデータベースの処理をしていないことを本当に願っています!フラッシュベースのI/Oがどのくらい遅いかを覚えておいてください。あなたは実際に何が起こっているかについてのもう少し詳細をあなたの質問に記入してください。 –

+0

私は本当にこれが私の特定の問題であることを望んでいませんでしたが、一般的には、シンクロされたメソッドがブロックしているときにどのようにアクセスできるのでしょうか。私の場合、キャッシュとデータベースはクラス内にラップされていますが、UIはキャッシュと他のスレッドをデータベースから読み込んでキャッシュに入れるだけなので、これらのputがUIと衝突しているかどうかを知りたかった私は同期をもっとうまくできるとはかなり確信していますが、私はそれが存在しない問題を修正しているかどうかを手前で知りたいと思います。 – aronp

2

traceviewを使用してアプリケーションをプロファイリングすると、各機能(その機能自体の包含および除外)に費やされた時間がわかります。

私はこれが役立つと思います。

+0

ありがとう、私はすでにこれを行い、アプリケーションは期待どおりに動作している、ジャダーは時々ですので、私は全体的なパフォーマンスではなくブロックを取得するときに本当に知りたいです。 – aronp

関連する問題