这几天查内存泄漏,发现编辑窗体弹出后,出现了内存泄漏。

原来以为是编辑窗体的问题。经过排查发现是编辑窗体关闭后reOpen的时候

因为需要记录原有数据集的位置所以用到了BookMark

现在用了FastMM

发现之前的写法有问题

var

lvBookMark:Pointer

begin

lvBookMark:=cdsMain.GetBookMark;

try

……

finally

if cdsMain.ValidateBookMark(lvBookMark) then

cdsMain.GotoBookmark(lvBookmark);

end;

……

这种写法会存在3字节的内存泄漏

lvBookMark:=cdsMain.GetBookMark;

try

……

finally

if cdsMain.ValidateBookMark(lvBookMark) then

cdsMain.GotoBookmark(lvBookmark);

cdsMain.FreeBookMark(lvBookMark)   ---加上这句。内存泄漏没有了

end;

转载于:https://www.cnblogs.com/DKSoft/archive/2011/04/30/2033452.html

DataSet.GetBookMark内存泄漏相关推荐

  1. THttprio连接WebService的内存泄漏问题

    THttprio连接WebService的内存泄漏问题. 原来写的一个通过Webservice读取数据的程序,用Delphi7开发的,在服务器上运行一段时间就死掉了,测试后发现是内存泄漏,在任务管理器 ...

  2. [JS] 闭包与内存泄漏

    一句话总结闭包:函数里套函数,函数返回函数. 内存泄漏:每次外部函数执行的时候,外部函数的引用地址不同,都会重新创建一个新的地址.但凡是当前活动对象中有被内部子集引用的数据,那么这个时候,这个数据不删 ...

  3. android释放acitity内存,Android 内存泄漏分析与解决方法

    在分析Android内存泄漏之前,先了解一下JAVA的一些知识 1. JAVA中的对象的创建 使用new指令生成对象时,堆内存将会为此开辟一份空间存放该对象 垃圾回收器回收非存活的对象,并释放对应的内 ...

  4. C语言中的指针和内存泄漏

    对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏惧,但 ...

  5. 初步判断内存泄漏方法

    有时候,内存泄漏不明显,或者怀疑系统有内存泄漏,我们可以通过下面介绍的方法初步确认系统是否存在内存泄漏. 首先在Java命令行中增加-verbose:gc参数, 然后重新启动java进程. 当系统运行 ...

  6. 野指针与内存泄漏那些事

    野指针:不是NULL指针,是指向垃圾内存的指针 野指针成因: 1.指针变量没有被初始化:指针变量在创建时同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存. 2.指针p被free或者d ...

  7. 介绍两个非常好用的Javascript内存泄漏检测工具

    内存泄漏对开发者来说一般很难检测因为它们是由一些大量代码中的意外的错误引起的,但它在系统内存不足前并不影响程序的功能.这就是为什么会有人在很长时间的测试期中收集应用程序性能指标来测试性能. 最简单的检 ...

  8. 内存溢出和内存泄漏的定义,产生原因以及解决方法(面试经验总结)

    一.定义(概念与区别) 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory:比如申请 了一个integer,但给它存了long才能存 ...

  9. Unix下C程序内存泄漏检测工具Valgrind安装与使用

    Valgrind是一款用于内存调试.内存泄漏检测以及性能分析的软件开发工具. Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Goo ...

最新文章

  1. adb install -r ,-d 等的解释
  2. nginx+tomcat+redis实现会话共享
  3. ANT 发布项目中 build.xml 文件的详细配置
  4. BZOJ2342[Shoi2011]双倍回文——回文自动机
  5. Satwe楼板能用弹性模计算吗_现浇楼板淋水后却出现裂缝,还好老师傅有经验,多是这3点造成的...
  6. 在web开发中的三个层次使用事务
  7. ionic@2.0 beta版本安装指南
  8. 自定函数获取datagrid,datalist,rpeater控件中header,footer栏中控件
  9. 我理解的 Java 泛型
  10. selenium的安装实操-0223
  11. 【Java】Java Object对象
  12. oracle迁移数据到mysql
  13. paip.提升开发效率--终极方法---组件化及其障碍
  14. android 按键,Android 7.0 Power 按键处理流程
  15. Mentor Graphics QuestaSim 2021 出现“正在运行后安装脚本...脚本:1/1”的问题
  16. 对于高级搜索部分的要求
  17. java毕业设计外卖管理系统mybatis+源码+调试部署+系统+数据库+lw
  18. 春运又双叒来啦!阿里出手帮你抢票
  19. java-集合框架库-LinkedList
  20. C语言—飞机大战小游戏

热门文章

  1. Java堆溢出错误:java.lang.OutOfMemoryError: Java heap space
  2. 阿里巴巴在内蒙古旱区试水物联网灌溉技术,一年省出1.5个西湖 1
  3. 蚂蚁金服一面二面试题及答案,职位Java高级工程师
  4. 验证字符串是否回文 Valid Palindrome
  5. 北京发布全国首个“水下物联网”系统
  6. XJTUOJ wmq的队伍(树状数组求 K 元逆序对)
  7. 自学java 第十章内部类(一)
  8. Internet 打印提示“打印机安装失败、打印机名称无效”的解决
  9. 无痛苦的软件维护——文档和代码
  10. java fso_文件对象FSO应用 文件对象FSO应用