3

最近、私のアプリケーションは、CM9 を使用した Android Ice Cream Sandwich で「動作しない」というコメントをかなり多く受け取りました。Android 4.0 を実行しているエミュレーターでエラーを再現することはできません。Android マーケットの仕組みのおかげで、それらの人々に連絡して詳細を尋ねることはできません。

幸いなことに、クラッシュ エラー レポートが 1 つ目に留まりました。私は丸みを帯びた角を描くために使用しています...そして、その機能を使用しようとすると、Canvas.clipPath一部の電話が投げているように見えます。UnsupportedOperationExceptionGoogle をざっと見てみると、Android 4.0 でハードウェア アクセラレーションを使用すると問題が発生するように思われることが明らかになりました。それが、寄せられたコメントの潜在的な理由です。

質問は - 何が起こっているのですか? アプリケーションのハードウェアは以前の Android バージョンで高速化されていませんでしたか? なぜそのような一般的な機能がサポートされていないのですか? 回避策は何ですか?

Canvas.clipPath の使用例は、私の別の投稿で見つけることができます。ここで受け入れられた回答を確認してください: ListView の Android rounded corners

前もって感謝します

4

2 に答える 2

6

ICS では、ハードウェア アクセラレーションがデフォルトでオンになっていました。4.0 までは、デフォルトでハードウェア アクセラレーションはオフでした。ハードウェア アクセラレーションは、clipPath をサポートしていません (および他のいくつかの操作については、こちらの詳細を参照してください http://android-developers.blogspot.com/2011/03/android-30-hardware-acceleration.html ) 同じ問題に直面しています。簡単な修正として、アプリケーション全体のアクセラレーションをオフにし、後で、clipPath を使用しないようにコードを書き直します。

于 2012-04-10T08:29:37.743 に答える
2

ハードウェアアクセラレーションをオフにできるのは、問題の原因となっている特定のビューのみです。ここで私の答えをチェックしてください:https ://stackoverflow.com/a/14054331/596708

于 2012-12-27T12:14:39.387 に答える