zoukankan      html  css  js  c++  java
  • 偶然发现静态函数与性能一例

      在一个图形化显示的系统中,采用的是重写Button类后,创建实例,通过算法摆放到Panel之中,用于对像显示地图那样显示它们。
      偶然间,发现一个性能上的问题,弄的不是很清楚:
      在重写的Button中,原本有一个ImageList来记录了当前按钮的可以用的图象,原来,因为写代码的人的失误,直接在创建每一个Button实例里,其中也相同的创建了一个ImageList实例。
      在实际的显示中,发现,即使是把该ImageList对象在继承的Button中进行static化,性能也没有丝毫的改观,显示速度仍是非常的慢。
      后来,进行重构时,发现,把所有的ImageList放在一起,易于管理,自然而然的,也用了单例模式。结果,惊讶的发现,性能也大有提升。

      思路比较模糊,没有弄清这是为什么。
      考虑到在Button的子类中进行static与在另一个类中进行static,原则上应该是一样的,因为static本身并不是类的定义的一部分,它是在类之外的。
             目前考虑到的可能是:问题出在ImageList的对象本身,它是通过Stream来读取持久后的图像,如果是在类之中的static的ImageList,很有可能,在每次访问时,均进行了再次读写,所以大大地影响了效率。而在以单例的访问中,因为只读写一次后,就放入了内存之中,所以效率会大大提高。
  • 相关阅读:
    瑞游天翼客户端win7,win8,win10
    js循环POST提交添加辅助单位
    服务器状态检测(1)
    快速切换天财商龙门店后台.VB6.0
    大批量删除农行点菜宝菜品品相和房间
    社会工程学
    你还会记得吗
    优酷爆个人数据漏洞
    win8删除无线网络其中的一项配置
    穿越火线修改成宽屏模式
  • 原文地址:https://www.cnblogs.com/William_Fire/p/221467.html
Copyright © 2011-2022 走看看