当您想以不同的字体大小或样式打印某些东西时,创建一个新的 Paint() 或修改和现有一个更有效吗?- 这是针对游戏的,因此每帧都会进行更改
问问题
539 次
2 回答
0
据我所知,创建对象总是很昂贵。如果可以的话,您应该避免这种情况,尤其是在每帧都发生这种情况的情况下。Android 总是建议您重用对象(请参阅此文档)。我认为不Paint
应该有这么大的内存占用,但为什么不只是重用。或者创建两个并使用它们?
我什么时候应该重用一个对象(在这种情况下是油漆)?
如果您只是更改文本大小和颜色,我会重复使用一种油漆。如果您要更改绘制的几乎每个属性以绘制另一个文本,我建议为此创建另一个绘制对象,因为您可以将其初始化一次,将其重用于相同类型的文本,您的代码会更干净。
于 2011-09-27T19:17:15.887 回答
0
如果 Paint 对象不必更改每一帧,那么我会通过为您需要的每种尺寸创建一个 Paint 对象来牺牲较小的内存损失以获得更好的性能,但不是在每一帧上。在类构造函数中执行它并在每一帧中使用它,因此它们只创建一次。
此外,如果 Paint 不会因不同的实例而改变,请将 Paints 设置为静态,您将为所有实例设置一组。
于 2013-06-27T04:02:22.757 回答