小编Gre*_*g G的帖子

iOS应用程序内存不足而没有收到内存不足警告

我有一个现有的应用程序,我做了一些最近的更改,我一直在测试这些更改.该应用程序在我测试的每个iPad上运行得非常好(iOS 4和iOS 5).在我的应用程序加载多个(50+)大量图像的意见后,我收到了内存不足的警告,我viewDidUnload方法被调用,他们正确零出所有的控制和我的内存图像缓存清除本身并应用只是继续精细.

但是,在iPhone 4和iPhone4s(iOS 5.0.1和iOS 5.1)上,我遇到了一个问题,即我的应用程序内存不足而没有收到低内存警告.在加载了几个不同的视图后,最终会出现一个新的视图并且大部分是空白的,在控制台上我看到了内存分配消息,整个手机都没有响应,有时会杀死我的应用程序.

发生这种情况的特定视图每次都是不同的,因此它与任何一个视图无关,只是随着时间的推移而积累的内存.我也确认我也没有任何内存泄漏.

这个现有问题是类似的:

IOS应用程序因低内存而被杀死,但未收到内存警告

并且这个答案表明,如果我陷入循环,这可能会发生,但我很确定我的代码不会卡在任何循环中.我只是在UINavigationController中从一个视图点击到另一个视图,并在每个视图中加载了几个图像.另外,另一个问题是专门在iPad上发生的,我没有在iPad上看到这个问题,只有iPhone.

顺便说一下,我已经尝试通过NotificationCenter注册低内存通知,并在我的app委托中有一个applicationDidReceiveMemoryWarning方法,并且两者都有断点,并且都没有被调用.此外,调试器控制台中也没有显示低内存消息.

关于可能发生的事情的任何想法?


在2012年3月26日添加:

有趣的是,当我在新iPad上测试我的应用程序时,它有同样的问题,我在iPhone 4和4s上看到没有收到低内存通知.所以我想知道我是否看到了与其他线程相同的问题:

新iPad:低内存警告没有出现?

但该线程上的开发人员正在测试仅限iPad的应用程序,因此不会在任何iPhone上测试和发现同样的问题.

我做了一些广泛的测试,并有一个设备列表,我正确地收到了低内存警告和我从未收到它的设备.到目前为止,我只看到iOS5或更高版本的问题,但是在iOS1和iOS5的iPad1上我没有看到问题,因此它不仅仅是iOS 5上所有设备上的问题.

这是那个清单:

适当的低内存警告

iPad1 4.2.1
iPad1 5.0
iPad1 5.1
iPad2 4.3.3
iPhone3G 4.2.1
iPod 3G 4.3.3
iPhone4 4.3.3
Run Code Online (Sandbox Code Playgroud)

没有低内存警告

iPhone4 5.1
iPhone4s 5.0.1
iPad3 5.1
Run Code Online (Sandbox Code Playgroud)

notifications low-memory ios

12
推荐指数
1
解决办法
6427
查看次数

调用didHighlightItemAtIndexPath而不调用didSelectItemAtIndexPath用于UICollectionView

我有一个UICollectionView,我在我的UICollectionViewCells中覆盖了hitTest:withEvent:以便允许在单元格之外的抽头注册为单元格上的抽头.

当我这样做时,我点击现在注册为命中的单元格外部,我调用didHighlightItemAtIndexPath和didUnhighlightItemAtIndexPath,但我没有调用didSelectItemAtIndexPath.如果我在单元格内部轻敲,我会像之前一样获得所有预期的高亮显示和选择项目调用.

我没有设置任何自定义手势识别器,我不会覆盖touchesBegan或类似的东西.

那么有没有人知道你在什么条件下调用didHighlightItemAtIndexPath而不调用didSelectItemAtIndexPath?有没有办法让我的didSelectItemAtIndexPath被调用?谢谢.

编辑

我忘了提到我的UICollectionView在Today Widget中,因此它包含在Notification Center滚动视图中.如果我将我的选择代码移动到didUnhighlightItemAtIndexPath中,那么当您点击单元格外部时会调用它,但结果是您实际上无法在不选择其中一个单元格的情况下滚动通知中心.

因此,我在这里遇到的突出显示和选择之间的区别可能与滚动视图响应者取消了单元格外的选择有关吗?

objective-c ios uicollectionview uicollectionviewcell

7
推荐指数
1
解决办法
776
查看次数