0

I am getting several memory leaks. All have the last place in the code -[ASIHTTPRequest somemethod]. Earlier I thought it was ASIhtt Library that is leaking memory. However it looks like it might just be pointing to the place where the object was created and cause of leak is actually with in the code. Below is an example of one of the stacks of memory leaks. I need to know how should I go about fixing these. What should be my approach. Thanks

   0 CoreFoundation _CFStreamSetClient
   1 CoreFoundation CFReadStreamSetClient
   // Below are Within code
   2 ProductSurvey -[ASIHTTPRequest scheduleReadStream] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Networking/ASIHTTP/ASIHTTPRequest.m:3716
   3 ProductSurvey -[ASIHTTPRequest startRequest] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Networking/ASIHTTP/ASIHTTPRequest.m:1382
   4 ProductSurvey -[ASIHTTPRequest main] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Networking/ASIHTTP/ASIHTTPRequest.m:955
   5 ProductSurvey -[ASIHTTPRequest startSynchronous] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Networking/ASIHTTP/ASIHTTPRequest.m:802
   6 ProductSurvey -[BaseRequest __processRequest:] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Networking/WebServices/../BaseRequest.m:73
   7 ProductSurvey -[BaseRequest request] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Networking/WebServices/../BaseRequest.m:109
   8 ProductSurvey -[EntityRevisionCheckRequest request] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Networking/WebServices/EntityRevision/EntityRevisionCheckRequest.m:21
   9 ProductSurvey +[NetworkUtility revisionForEntityId:] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Networking/Utilities/NetworkUtility.m:21
  10 ProductSurvey -[AbstractEntity(Extension) toJSONForUpdate] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/DataPersistance/Categories/AbstractEntity+Extension.m:65
  11 ProductSurvey -[Room(Extension) toJSONForUpdate] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/DataPersistance/Categories/Room+Extension.m:104
  12 ProductSurvey -[RoomService push] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Syncing/Services/RoomService.m:56
  13 ProductSurvey +[SyncService pushEntityData:] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Syncing/SyncService.m:84
  14 ProductSurvey +[SyncService pushInOrder:] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Syncing/SyncService.m:291
  15 ProductSurvey +[SyncService pushAllDirtyChangesToServer] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Syncing/SyncService.m:69
  16 ProductSurvey +[SyncService push:] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Syncing/SyncService.m:479
  17 ProductSurvey +[SyncService syncLocalRemoteData] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Syncing/SyncService.m:220
  18 ProductSurvey -[BGSyncService processSync] /Users/Ila/Documents/Developer/Stryker/ProductSurvey/Syncing/BGSyncService.m:77
  19 Foundation __NSThread__main__
  20 libsystem_c.dylib _pthread_start
  21 libsystem_c.dylib thread_start
4

3 回答 3

6
  1. 启用ARC
  2. 停止使用ASIHTTPRequest。开发者在网站顶部发帖:

    请注意,我不再在这个库上工作——你可能想考虑为新项目使用其他东西。

    严重地!图书馆的最后一次更新是两年多前的事了!

  3. 开始使用AFNetworking

于 2013-07-24T12:58:34.733 回答
0

I would recommend using the Leaks tool in Instruments. Here is a tutorial to help get started.

于 2013-07-24T12:54:57.800 回答
0

通过 Xcode->Product->Analyze 分析它将通过蓝色指示器显示所有内存泄漏的位置。看到这一点并尝试消除那些潜在的泄漏。

于 2013-07-24T13:08:26.123 回答