我一直在研究一个库,并且遇到了应用程序内存的问题。
我创建了一个名为FileManager的类,它允许用户调用一个名为的函数loadNewFiles
- 此函数打开一个多文件选择对话框并将每个FileReferenceList存储在一个向量中。我可以随时调用该removeList
函数并删除该列表并清除分配给该列表的所有内存和侦听器,所以一切都很好。
我创建了另一个名为UploadManager的类,它采用FileReference对象数组并通过该uploadFiles
函数将它们上传到 URL 。内存泄漏似乎在这里。当您调用此函数时,它会添加适当的事件侦听器并调用上传函数。如果上传失败或上传完成,它会移除监听器并清除它一直在等待的向量。
在上传管理器完成上传文件后,我在FileManagerremoveFiles
中调用该函数(记住,它之前工作得很好)并且......没有任何反应。文件从两个向量中删除,侦听器从两个文件中删除,但内存保持分配状态。这显然有可能导致沿途出现问题,因为通过库可用的文件、上传等数量没有限制。