【发布时间】:2012-08-11 09:20:15
【问题描述】:
我有一个应用程序使用绘画标志在TextView 上设置删除线。在我在 Android 4.03 AVD 上启用 GPU Rendering 之前,此应用程序在模拟器上运行良好。
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 stopped responding",但就我而言,它也在手机上崩溃了。
解决方案原来是巧合,与加速度无关。通过 LogCat 找到空指针。
【问题讨论】:
-
是强制关闭崩溃吗?如果是,请提供 LogCat 输出。
-
这是一个没有响应崩溃的模拟器。 Windows 应用死机,需要关闭模拟器
-
忘记了您可以从手机中获取 LogCat。原来手机上的问题与加速无关。在手机上发布关于检查 LogCat 的答案,我会接受它
-
完成!很高兴你取得了一些进展。 :)