Memory leaks 应用程序将日志显示为收到的内存警告,并在uiscrollview中以更快的速度滚动图像时崩溃?

Memory leaks 应用程序将日志显示为收到的内存警告,并在uiscrollview中以更快的速度滚动图像时崩溃?,memory-leaks,crash,Memory Leaks,Crash,在我的应用程序中,我需要在uiscrollview中加载“n”个图像以进行水平滚动(向前和向后)。有两种方法可以滚动图像。首先,从数据库中获取所有图像并添加到uiscrollview中。另一种方法是,从数据库中获取关于向前和向后操作的每次滚动的每个图像。我跟着第二条路走。我的问题是,这个应用程序只有在ipad上才会崩溃,而前后滚动图像的速度更快,它会将日志显示为“已接收内存警告”。我正确地释放了每个分配的对象。即使我检查了泄漏本身,也没有泄漏。。有什么问题?为什么这只发生在ipad上?提前谢谢

在我的应用程序中,我需要在uiscrollview中加载“n”个图像以进行水平滚动(向前和向后)。有两种方法可以滚动图像。首先,从数据库中获取所有图像并添加到uiscrollview中。另一种方法是,从数据库中获取关于向前和向后操作的每次滚动的每个图像。我跟着第二条路走。我的问题是,这个应用程序只有在ipad上才会崩溃,而前后滚动图像的速度更快,它会将日志显示为“已接收内存警告”。我正确地释放了每个分配的对象。即使我检查了泄漏本身,也没有泄漏。。有什么问题?为什么这只发生在ipad上?提前谢谢

谢谢,
wesley

当应用程序收到内存警告时,iOS会自动删除一些加载的资源,如图像、视图等。它可能以某种方式导致崩溃。您不应该在scrollView中一次加载所有图像。您应该根据scrollView上图像的索引动态加载图像。并在索引更改时释放图像。或者,您一次只能在内存中加载3/4个图像,这样用户在滚动时就不会经历任何加载时间。当用户滚动时,在后台加载/释放图像。

@Saleh,我没有一次加载所有图像。我只动态加载了图像。。即使它发生了,它们也不能正确地释放。我们也不应该将图像存储在数据库中,因为它会变得太重。图像应存储在物理内存(文件dic等)或某些服务器上。