先定义一个结构:

TUserInfo = record
  UserID: Integer; // 用户编号
  UserName: string; // 用户名
end;

然后编写如下代码:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  User.UserName := StringOfChar('A', RandomRange(16*1024, 64*1024));
  FillChar(User, SizeOf(User), 0);
end;

然后开启设置Timer间隔为20ms, 开启任务管理器就会发现内存暴涨,很显然结构中UserName使用的内存未被正确释放。

改成下面的代码就不会出现上述情况:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  User.UserName := StringOfChar('A', RandomRange(16*1024, 64*1024));
  User.UserName := '';
end;

http://blog.csdn.net/missmecn/article/details/7097660

最新文章

  1. *HDU1151 二分图
  2. .NET基于Redis缓存实现单点登录SSO的解决方案[转]
  3. postMessage
  4. JavaScript input file上传前获取文件名、文件类型、文件大小等信息
  5. 【转】Web UI自动化测试原理
  6. 两台笔记本搭建openvswitch网络
  7. POJ Wormholes (SPFA)
  8. jquery mobile 前言
  9. line-height行高使用技巧
  10. 用它解决大问题啦,STRACE应用
  11. 【木德木作杯楼市达人秀NO.28】南湖买房故事
  12. 超酷创意HTML5动画演示及代码
  13. CodeForces 707D Persistent Bookcase
  14. docker certificates
  15. 学习篇之String()
  16. Javaweb之Servlet入门
  17. web从入门开始(2)----基础
  18. react实现双向绑定
  19. iOS学习——自动定位
  20. [Awson原创]修水渠(canal)

热门文章

  1. HDOJ 3047 带权并查集
  2. Python 网络编程说明
  3. 关于QT的系统总结(非常全面,非常好)
  4. Qt调用DLL
  5. 【译】在Asp.Net中操作PDF – iTextSharp-列表
  6. python xpath
  7. android4.0蓝牙使能的详细解析 (转载)
  8. IOS UItableView得到group如何摆脱的剪裁线条样式问题
  9. Swift - 单例模式的实现
  10. Keepalived安装工具