2013-07-17 60 views
0

我已經很沮喪地乞求一些暴民的見解。我有一個使用MapKit的應用程序,點擊它會顯示一個縮略圖,點擊縮略圖時它會顯示一個圖片庫。所有圖像都使用SDWebImage。我查看了我的分配表,發現地圖本身正在使用大量的內存。峯值在60mb左右,有點瘋狂。當我打開畫廊時,它會下降到40/35mbs左右。我可以看看剛纔找到的一個畫廊,但只要我打開第二個畫廊並開始滾動,就會崩潰,即使內存使用量大約爲35mbs。iOS在MapKit/SDWebImage中發生內存不足警告

我第一次嘗試解決這個問題,以清除didReceiveMemWarning上的WebImage緩存,其次是實際移除地圖和所有註解。該應用程序正在使用ARC。

這是問題...我該如何解決這個問題?得到這個停止與內存崩潰。任何幫助?

崩潰報告

Free pages:  1188 
Active pages:  6757 
Inactive pages: 4192 
Throttled pages: 89007 
Purgeable pages: 0 
Wired pages:  26699 
Largest process: DbConnect 

Processes 
Name     <UUID>      rpages  recent_max  [reason]   (state) 

accountsd <e6ceba0e6e053a3ea02d0a916903cff8>   284    284   [vm]   (daemon) (idle) 
    installd <117f65beb8cb38da8e0844256c65e402>   301    301   [vm]   (daemon) (idle) 
networkd_privile <cd5f76fd767c31428f411ecf03540546>   115    115   [vm]   (daemon) (idle) 
     lsd <566268cf717b335e98ddba10ca9315ab>   265    265   [vm]   (daemon) (idle) 
    MobileMail <e07ca7a7280736c7bf301451f89d1c02>   1022    1022   [vm]   (resume) (continuous) 
MobilePhone <51866c9bc9f93c9d8526e8acf9efc64c>   998    998   [vm]   (resume) (continuous) 
     tccd <2778744d99a530c9a7d5e57a19b60008>   161    161   [vm]   (daemon) 
    DbConnect <f628b610fcc23c559f2a96959ac78b15>  21523   21523   [vm]   (frontmost) (resume) 
     ptpd <096297a7a40f318290a972274cc44d87>   591    591      (daemon) 
     wifid <72eda25ccdd737a79d6cd172e9bf99a5>   615    615      (daemon) 
    syslogd <da215e2d3de133bf8f52590727b9bdfe>   270    270      (daemon) 
    aosnotifyd <47126a998bb5308f9d5cbe028dc47d60>   447    447      (daemon) 
    locationd <137100f254373daeb894f665c413f8b0>   1023    1023      (daemon) 
iaptransportd <9b3cf56b4db13761bbd8ac2e0ff099be>   242    242      (daemon) 
dataaccessd <abc7f74d5d683d4c9a04e7ade5b1126b>   1835    1835      (daemon) 
mediaserverd <af72564bf8713fb8b16ee64c5ee85568>   1645    1645      (daemon) 
SpringBoard <bd1d77d154ef3dffbb53d89337c8a08f>   4057    4057      
    backboardd <e1dc74434e0e3938b17ff0f7ad85d138>   9463    9463      (daemon) 
    lockdownd <a123aa04ddf83a5fae8e5bc08f0b5771>   260    260      (daemon) 
     powerd <63673a83ac9c3cf98fdc75df8ba70fd0>   156    156      (daemon) 
mDNSResponder <1e651badfb7033a68a73a667ec480a08>   247    247      (daemon) 
UserEventAgent <7ee3410c25e4372d84e93318fe42696b>   534    534      (daemon) 
syncdefaultsd <a18b8aeea66e3ebb9ab0d54e55c1b9d1>   263    263      (daemon) 
    DTMobileIS <0e7e02810e383e2c9ebc212d94b6044f>   0    0      (daemon) 
mobile_profile_j <9e3c8e8611da3c68af7e5511500256de>   194    194      (daemon) 
springboardservi <438ae856a1c039a197e6987a99a8b9b6>   0    0      (daemon) 
syslog_relay <ee47daae952636649230d38b3dc5c2e0>   0    0      (daemon) 
     afcd <3bd960d39c9f3972a10923db0e687b4a>   152    152      (daemon) 
notification_pro <08df322fbe7739199f78852a511169ef>   136    136      (daemon) 
    absinthed <b5e167e1b2dc3bf9b5f704afb30aed5f>   105    105      (daemon) 
filecoordination <28ca39773e933ed2aa92c117c661d056>   164    164      (daemon) 
     apsd <5be27dc5ea5234319bc4b47380e42174>   342    342      (daemon) 
    distnoted <699b8253736233b29180419f139e8c01>   121    121      (daemon) 
    networkd <49064febbe553338bd98051399022da4>   182    182      (daemon) 
    aggregated <c5a375854c3c31d59548ab53ea86d194>   93    93      (daemon) 
    fseventsd <3ea853cb95de3aa48972aa42637af69a>   344    344      (daemon) 
    BTServer <af0150d5085e326598edff072a23d146>   243    243      (daemon) 
    imagent <2b64c6111aa63b179a15afd6a76a6696>   387    387      (daemon) 
    configd <b6a4d70640b63e8f82e0e9f3d6ee2bb9>   510    510      (daemon) 
fairplayd.P106 <c5ca0bc497013131a5c17a89fdedcd82>   175    175      (daemon) 
     geod <d180dd46c4bd3ffbb856b5eb8589a45c>   296    296      (daemon) 
    CommCenter <cb877b4411ee3a348ec44c02ff3da38d>   608    608      (daemon) 
    notifyd <67a17b0c297e3785a9e09b8e72f3636a>   188    188      (daemon) 

分配圖 Allocation Graph

分配表 Allocation Table

回答

1

我想通了這一點我自己。如果有其他人遇到這個問題,我會解釋。解決方案其實很簡單。我正在使用名爲UIPhotoGallery的CocoaPod。這是問題所在。其中的一些內容導致內存不被釋放。我沒有試圖修復它。相反,我發現另一個更好的工作。我們現在使用MWPhotoBrowser(https://github.com/mwaterfall/MWPhotoBrowser)。像魅力一樣工作,安裝起來並不困難。

萬一別人正在尋找圖庫我想:

  • IOS-KRImageViewer
  • 雨雲
  • GVPhotoBrowser
  • UIPhotoGallery

所有這一切不是太複雜的,缺乏文件的,或者沒有很好的工作。我希望這可以幫助別人。