4

内存是android.graphics.Paint重物吗?哪一个更有效,将绘制对象引用传递给需要在画布上绘制并在这些类中设置绘制属性(例如颜色、样式等)的类,或者在需要的地方创建新的绘制对象?

4

2 回答 2

6

是的,Paint很重,尤其是它的创建和初始化。这是否意味着您必须Paint为所有内容重用相同的对象?这得看情况。

如果您要执行多个drawText()但使用不同的颜色,那么您可以重复使用相同的油漆但使用不同的颜色(使用setColor())。但是,如果您要在两个不同的类中执行两个不相关的操作(绘图),并且 Paint 配置(如颜色、字体大小、样式、PathEffect 等)存在重大差异......那么最好为它们使用单​​独的 Paint 对象.

简而言之,使用相同的油漆进行相似的绘图,差异较小。并使用不同的绘画对象进行不相关的绘图,但有很大的不同。希望这可以帮助。

于 2017-01-03T08:34:26.920 回答
-1

对我来说最好的方法是:为每个具有不同样式、宽度或颜色的对象创建新的 Paint。并为绘制文本创建其他颜料。(如果您想绘制不同颜色或文本大小的文本,请创建新的绘制)

这种方式为其他开发人员创建了更懒惰的代码,因为一次绘制绘制一个对象,这是很好的 OOP 风格)))。

于 2016-12-27T13:18:28.113 回答