ペイント フラグを使用して に取り消し線を設定するアプリがありTextView
ます。このアプリケーションGPU Rendering
は、Android 4.03 AVD で有効にするまで、エミュレーターで正常に動作します。
http://developer.android.com/tools/devices/emulator.html#acceleration
これを有効にすると、エミュレーター全体がロックされ、ペイント フラグを設定した瞬間に応答しなくなります。
TextView message = (TextView)v.findViewById(R.id.message);
message.setPaintFlags(day.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
これはListView
アダプター内にあり、ロード時に getView(...) メソッドを呼び出し、setPaintFlags(...)メソッドを 6 回ヒットし、6 回目以降にクラッシュします。
setPaintFlags(...)行をコメントアウトすると、クラッシュしません。これを電話にインストールすると、取り消し線が発生するとアプリがクラッシュします。
これをマニフェストに設定すると、エミュレーターの問題は解決しますが、電話ではまだクラッシュします。
<application android:hardwareAccelerated="false">
エミュレーターではなく、電話でこのクラッシュを経験したことのある人はいますか (ハードウェア アクセラレーションを使用しない限り)。
私は掘り下げて、他の同様の投稿Android emulator crashes;を見つけました。「emulator-arm.exe が応答を停止しました」が、私の場合、電話でもクラッシュします。
ソリューション偶然であることが判明し、加速とは無関係でした。LogCat でヌル ポインターが見つかりました。