JAVA中对Color对象共用缓存,如何处理?

  Color的特点是颜色是在构造时指定的。如果运行中频繁产生,确实会影响性能。自然的,我们就想,能不能进行缓冲呢?

  • 使用哈希表缓冲不可行

  因为在缓冲的时候,需要构造一个对象(字串或整数),才能搜索到。

  • 使用数组缓冲不可行

  颜色种类太多。

  • 索引式缓冲

  比如泰山OFFICE在使用过程中,使用的颜色数量是很少的。那么这些颜色可以通过指定用途的方式存起来。比如说,不同的皮肤(外套),背景色不同,可以通过获取背景色的函数得到。

  • 自定义颜色的处理

  除此之外,用户自定义颜色用于特定场合(比如文档中的字体)。这种机会很少,所以我们就不要缓存了,直接保存起来即可。如果用户两次自定义的颜色相同,我们也可以当作不同颜色,也可以在构造后检查一遍。

  

猜你喜欢

转载自blog.csdn.net/quantum7/article/details/125604712
今日推荐