Android Paint对象内存效率

标签 android performance android-canvas android-paint

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

最佳答案

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

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

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

关于Android Paint对象内存效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41345825/

相关文章:

android - 位图选项 inSampleSize = 1 时应用程序崩溃

Android RXJava 清理解决方案

java - 在 Java 中模拟 6502 处理器时,对象开销重要吗? (使用包装器而不是原始类型)

java - 性能测试 Flex 应用程序

performance - 如何衡量 Web App 的性能?

java - 表情符号不随 Canvas 旋转

android - 如何为 Android 创建与 Talkback 配合使用的自定义键盘

java - 使用 ArrayList 和迭代器时出现 illegalStateException

android - 如何从共享首选项中检索 key

Android Canvas 绘制矩形