我正在开发一个照片库应用程序。根视图是一个导航控制器,它将用户带到缩略图视图。点击任何缩略图将用户带到 PhotoView,它会全屏显示点击的图像。
以下是我在 PhotoViewController 中所做的:
该方法与我在 github 上找到的 ScrollingMadness 项目非常相似。
我初始化一个 UIScrollView 并将其作为子视图添加到我的视图控制器的视图中。设置 UIScrollView 的一些基本属性。将图像添加到 UIImageViews(数量为 5)。将所有这些 imageView 作为子视图添加到 UIScrollView。当对任何图像执行缩放操作时,除了当前图像子视图之外的所有图像子视图都将从滚动视图中删除。当图像缩小到最小比例时,所有图像都被添加回 UIScrollView。
正如 Apple 的示例代码中所解释的,我正在使用 TapDetectingImageView 委托来创建 imageViews 并处理触摸事件。
当我运行该应用程序时,模拟器中的一切正常。没有任何问题。但是当我在设备中运行该应用程序时,它会在我滚动到第三张或第四张图片后崩溃。在调试时,我发现在滚动到第三张或第四张图像后会调用 didReceiveMemory 警告。我使用 Instruments 运行应用程序。发生崩溃时,对象分配显示分配级别仅为 1.5-2MB。我相信这个级别的内存使用是非常正常的......对吧?
之前经历过这种情况的任何人,或者关于我如何摆脱它的任何意见......将是我目前在世界上需要的所有帮助。
如果您需要任何其他信息,请告诉我。
PS > 看到整个应用程序在模拟器中完美但在设备中崩溃,令人沮丧:(