android.graphics.Paint
内存重对象吗?将绘制对象引用传递给需要在 Canvas 上绘制并在这些类中设置绘制属性(例如颜色、样式等)的类,或者在需要的地方创建新的 Paint 对象,哪个更有效?
最佳答案
是的,Paint
很重,尤其是它的创建和初始化。这是否意味着您必须为所有内容重用相同的 Paint
对象?这要看情况。
如果您要执行多个 drawText()
但颜色不同,那么您可以重复使用相同的油漆但颜色不同(使用 setColor()
)。但是,如果您要在两个不同的类中执行两个不相关的操作(绘图),并且 Paint 配置(如颜色、字体大小、样式、PathEffect 等)存在重大差异......那么最好为它们设置单独的 Paint 对象.
简而言之,使用相同的涂料进行相似的绘制,差异较小。并使用不同的绘画对象来执行具有重大差异的不相关绘图。希望这会有所帮助。
关于Android Paint对象内存效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41345825/