我有一个应用程序使用绘制标记来设置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找到空指针。
答案 0 :(得分:1)
根据上述评论:
由于仿真器很好,而且电话设备崩溃,请使用USB调试来获取LogCat输出。这将有助于缩小崩溃/错误的原因。