1

在我正在玩的玩具图形应用程序中,我有这样的东西:

Path p = new Path();
p.addCircle(40,40,40,Path.Direction.CW);
canvas.drawPath(p);

这在模拟器和手机上都按预期工作。但现在我试试这个:

Path p = new Path();
p.addCircle(40,40,40,Path.Direction.CW);
Path q = new Path(p);
canvas.drawPath(q);

这在模拟器上按预期工作,但在我运行 4.04 的 Nexus S 上没有任何作用。

同样,如果我尝试:

Path p = new Path();
p.addCircle(40,40,40,Path.Direction.CW);
Matrix m = new Matrix();
m.setTranslate(50,50);
Path q = new Path();
p.transform(m,q);
canvas.drawPath(q);

同样,这只适用于模拟器,不适用于我的手机。这里有什么问题?没有例外,日志中没有任何用处,执行直接通过相关代码运行。

4

1 回答 1

1

我预计这是由于硬件加速而失败的。尝试将其关闭以进行快速测试。

我刚刚在我使用的绘图库中遇到了类似的问题。该问题似乎与它在其绘图代码中的多个 new Path() 调用有关。我已将它们拉到它们真正属于的构造函数中,现在一切正常。

于 2012-07-11T17:19:12.273 回答