私は図面ライブラリを持っており、それに私はカスタムビューを持っています。更新が必要な場合、ライブラリはビューのinvalidate()
メソッドを呼び出します。そして、onDraw()
メソッドが呼び出され、すべて正常に動作します。View.invalidate()はView.onDraw()を呼び出すようではありません
ただし、usesSdkVersion="14"
の属性をAndroidManifest.xml file
に追加すると、これは機能しなくなります。もう私のビューのonDraw()
メソッドがもう呼び出されなくなりました。
詳細情報: invalidate()
を私のアプリケーションのボタンプッシュの結果として呼び出すと、Viewは期待どおりに更新されるようです。また、正しく動作しているライブラリ内にアニメーションが1つあります。だから、明らかに正しく動作していることがあります。しかしほとんどの時間、それは再描画されていません。 invalidate()
が呼び出された後にOSが再描画をスキップする原因となるカスタムビューが存在する可能性のある状態はありますか?
あなたはまだUIスレッドから呼び出していますか?それ以外の場合は、postInvalidate()を使用する必要があります。 – Heinrisch
postInvalidateを無効にするだけでそれをチェックしようとしましたが、問題はまだ残っています。 – Rickster
ハードウェアアクセラレーションのオン/オフはありますか? –