偶然发现静态函数与性能一例
偶然间,发现一个性能上的问题,弄的不是很清楚:
在重写的Button中,原本有一个ImageList来记录了当前按钮的可以用的图象,原来,因为写代码的人的失误,直接在创建每一个Button实例里,其中也相同的创建了一个ImageList实例。
在实际的显示中,发现,即使是把该ImageList对象在继承的Button中进行static化,性能也没有丝毫的改观,显示速度仍是非常的慢。
后来,进行重构时,发现,把所有的ImageList放在一起,易于管理,自然而然的,也用了单例模式。结果,惊讶的发现,性能也大有提升。
思路比较模糊,没有弄清这是为什么。
考虑到在Button的子类中进行static与在另一个类中进行static,原则上应该是一样的,因为static本身并不是类的定义的一部分,它是在类之外的。
目前考虑到的可能是:问题出在ImageList的对象本身,它是通过Stream来读取持久后的图像,如果是在类之中的static的ImageList,很有可能,在每次访问时,均进行了再次读写,所以大大地影响了效率。而在以单例的访问中,因为只读写一次后,就放入了内存之中,所以效率会大大提高。
转载于:https://www.cnblogs.com/William_Fire/archive/2005/08/24/221467.html
偶然发现静态函数与性能一例相关推荐
- 偶然发现的一篇相见很晚的文章:如何学好游戏编程
今天偶然发现一篇介绍如何学好游戏编程的文章,相见恨晚呀,特转载,转帖地址:http://new.qzone.qq.com/79134054/blog/1226580538#!. <如何学好游戏编 ...
- windows2008r2补丁_我偶然发现一个严重 0day,影响 Win7 和 Server 2008 R2,微软未发补丁(详情)...
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 法国安全研究员 Clément Labro在更新一款 Windows 安全工具时,偶然发现一个影响 Windows 7 和 Windo ...
- 鼠标在用了一段之后偶然发现以给特别慢的速度移动鼠标,会在移动到可点击的选项按钮附近明显的卡住问题。
鼠标在用了一段之后偶然发现以给特别慢的速度移动鼠标,会在移动到可点击的选项按钮附近明显的卡住问题. 买的罗技的G pro,近期重装了一遍系统偶然发现这个问题,已经严重影响了鼠标的使用,制表制图的时候很 ...
- 偶然发现,Javascript中双重否定的写法
JS 是一种灵活且轻量级的语言,这种特性让我们经常觉得它是一门最简单的语言,也是最难掌握的语言.虽然经常使用,但我仍然偶然发现一些我不知道的隐藏语法或技巧. 在处理错误时,我偶然发现了以下代码. re ...
- 驱动开发基础知识 偶然发现的,很全面
1.三种类型的WDM驱动程序 总线驱动程序(bus driver) 功能驱动程序(function driver) 过滤驱动程序(filter driver) 2.其他分类方法 ...
- 张一鸣:“如果是你偶然发现青霉素能消炎,阿里正式启动2021届春季校招
在这里举个反例:两个我印象比较深刻的年轻人,素质.技术都蛮不错,也都挺有特点.我当时是他们的主管,发现他们在工作中deliver(传递)的感觉始终不好. 他们觉得其他同事做得不如他们,其实不是:他们确 ...
- pg_enterprise_views 偶然发现的神仙PG插件!!!
目录 1. 下载 2. 安装 3. 使用 3.1. pev_active_session && pev_active_session_his 3.2. pev_long_locks & ...
- 偶然发现一个学习python的好地方
大家好,今天推荐一个我的在学习python路上结识的好朋友:才哥. 才哥是枚游戏运营,为了高效的处理游戏运营中的数据分析相关工作,自学python,致力于技术让工作更轻松. 才哥乐于分享,他将自己学习 ...
- 偶然发现一个大佬写的 React 脚手架,叫Moderate, 用起来很方便
发现一个大佬写的 React 脚手架,叫Moderate, 用起来很方便 Moderate,意思为适中的,适度的,用这个作为代号,主要取决于他的本名"中用",其一以贯之的想法就是中 ...
最新文章
- Scala程序设计:Java虚拟机多核编程实战(国内第一本Scala图书)
- 计算机网络核心知识(上)
- 计算机右键管理删除,使用QQ计算机管理器删除右键菜单中的多余项。doc
- 真实不装| 阿里巴巴新人上路指北
- 第一百五十二期:白话Entity Framework Core数据验证
- 渗透测试入门24之渗透测试参考书、课程、工具、认证
- 【kafka】kafka Replica无法从leader同步消息
- C++学习(三)(C语言部分)之 基本数据类型
- CDH中hue使用oozie调度的文件注意事项
- c语言代码99乘法表,c语言九九乘法表代码如何写
- 分布式数据库中间件 TDDL 学习笔记
- 主题词是计算机自动提取,汉语关键词自动转换主题词方法的步骤
- latex normal是几号字_Latex 文本详细篇
- 全自动加药装置详细介绍
- 手机群控软件的运行环境台式机/HUB配置分享
- 【福利倒计时】春风十里不如程序猿的专属福利,拿了这份,2018值了~
- 操作系统中生产者/消费者问题(一)
- 华为光亮计算机有哪些优势,华为亮出5G十大优势:62家运营商拿下41家
- 大数据与云计算学习计划 (一) 云计算系统管理 3 Linux系统命令行基础 (概念与实操)
- 【开说正事】猿宵节灯谜,你知多少?