[发明专利]一种关于iOS应用程序内存泄漏的即时检测方法在审
申请号: | 201811607253.X | 申请日: | 2018-12-27 |
公开(公告)号: | CN109783371A | 公开(公告)日: | 2019-05-21 |
发明(设计)人: | 傅涛;王力;郑轶;钱勇 | 申请(专利权)人: | 江苏博智软件科技股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210012 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明名称为“一种关于iOS应用程序内存泄漏的即时检测方法”。通过此工具方法的引进使用后,就可以在日常的开发,调试业务逻辑的过程中自动地发现并警告内存泄漏。开发者无需打开instrument等工具,也无需为了找内存泄漏而去跑额外的流程。并且,由于开发者是在修改代码之后开展业务逻辑就能发现内存泄漏的,这使得开发者能够很快地意识到是哪里代码写得问题。这种及时的内存泄漏的发现在很大的程度上降低了修复内存的成本。 | ||
搜索关键词: | 内存泄漏 应用程序内存 即时检测 业务逻辑 泄漏 开发 自动地 发现 内存 调试 修复 警告 | ||
【主权项】:
1.一种关于iOS应用程序内存泄漏的即时检测方法 ,其工作步骤如下:步骤1:寻找释放点,通过Method Swizzling系统类的方法添加额外的功能;步骤2:追踪泄漏,建立白名单机制,通过判断class是否在白名单中,来决定是否安全;步骤3:报告泄漏对象,当进入到对应的assertNotDealloc方法,表明该对象极有可能泄漏,通过alert弹出提示框;步骤4:构建堆栈信息,通过监听willReleaseChildren和willReleaseChild方法;递归遍历子对象,然后将父对象class name加上子对象class name,一步步构造出一个view stack;步骤5:查找环引用,FBRetainCycleDetector基于外部传入的object以及查找深度,进行深度优先遍历强引用属性,和动态运行时关联的强引用属性,同时将这些关联对象的地址放入objectSet(set)的集合中,将对象信息计入objectOnPath集合中(set),并且将对象将对象在对象栈stack中存储一份,来查找对应环。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏博智软件科技股份有限公司,未经江苏博智软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811607253.X/,转载请声明来源钻瓜专利网。