Android Paint对象内存效率

时间:2016-12-27 13:10:01

标签: android performance android-canvas android-paint

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

2 个答案:

答案 0 :(得分:2)

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

如果要执行多个drawText()但颜色不同,则可以重复使用相同的颜色但颜色不同(使用setColor())。但是如果你打算在两个不同的类中执行两个不相关的操作(绘图),并且Paint配置中有很大的不同,比如Color,font size,Style,PathEffect等等......那么最好分开为它们绘制对象。

简而言之,使用相同的涂料进行类似的绘图,差异较小。并使用不同的绘画对象来执行具有重大差异的无关绘图。希望这会有所帮助。

答案 1 :(得分:0)

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

这样可以为其他开发人员创建更懒惰的代码,因为一个绘制绘制一个对象,这是一个很好的OOP样式)))。