0

我已经变得沮丧到乞求暴徒的一些见解。我有一个使用 MapKit 的应用程序,点击它会显示一个缩略图,点击缩略图会显示一个图片库。所有图像均使用 SDWebImage。我查看了我的分配表,发现仅地图就使用了大量内存。它的峰值约为 60mbs,有点疯狂。当我打开画廊时,它下降到大约 40/35mbs。我可以查看一个刚刚找到的画廊,但是一旦我打开第二个画廊并开始滚动它就会崩溃,即使内存使用量约为 35mbs。

我第一次尝试清除在 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)

分配图 分配图

分配表 分配表

4

1 回答 1

1

这是我自己想出来的。万一其他人遇到这种情况,我会解释。解决方案实际上非常简单。我正在使用一个名为 UIPhotoGallery 的 CocoaPod。这就是问题所在。其中的某些东西导致内存无法释放。我没有费心去修复它。相反,我找到了另一个效果更好的。我们现在正在使用 MWPhotoBrowser ( https://github.com/mwaterfall/MWPhotoBrowser )。像魅力一样工作,设置起来并不难。

如果其他人正在寻找我试过的画廊图书馆:

  • ios-KRImageViewer
  • 雨云
  • GV照片浏览器
  • UIPhotoGallery

所有这些要么太复杂,要么缺乏文档,要么效果不佳。我希望这对其他人有帮助。

于 2013-07-18T01:42:08.363 回答