UIPageViewController с изображениями в iPad3 кэширует все контроллеры представления в памяти

В ARC я настроил UIPageviewController как MyPageViewController, Я добавляю MyPageViewController как childViewController для RootViewcontroller, Тип перехода установлен как Curl.

ImageViewControllers добавляются как viewControllers MyPageViewController, как это:

ImageViewController *startingViewController1 = [self.storyboard instantiateViewControllerWithIdentifier:@"ImageViewController"];
ImageViewController *startingViewController2 = [self.storyboard instantiateViewControllerWithIdentifier:@"ImageViewController"];

NSArray *viewControllers = @[startingViewController1, startingViewController2];
[self.myPageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:NULL];

self.myPageViewController.delegate = self;
self.myPageViewController.dataSource = self.pageModelController;
[self addChildViewController: self.myPageViewController];
[self.view addSubview: self.myPageViewController.view];
[self.myPageViewController didMoveToParentViewController:self];

каждый ImageViewController имеет 4 различных UIImageViews на нем. Поскольку эти изображения могут быть HD-изображениями, чтобы избежать кеширования, я устанавливаю изображение с помощью:

[UIImage imageWithContentsOfFile:]

Но каждый раз, когда я переворачиваю страницу в pageViewController, я вижу увеличение объема памяти на 15 МБ, и оно не уменьшается, если я не открою весь этот RootViewController.

Но это происходит только в iPad3, тогда как в iPad2 память не увеличивается. На обоих установлена ​​iOS 7.1.

В MyPageViewController одновременно добавляются только 2 viewController (ImageViewController), используя:

- (UIViewController *)pageViewController:(PMPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController;
- (UIViewController *)pageViewController:(PMPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController;

В viewDidUnload of ImageViewControllerЯ устанавливаю каждый вид и объекты nil;

Поэтому я предполагаю, что iPad3 не выпускает контроллеры представления, которые когда-то были добавлены к нему, в то время как iPad2 выпускает предыдущие контроллеры представления и сохраняет только текущие.

Это действительно то же самое или есть какие-то другие обходные пути для этого...

Может ли кто-нибудь помочь мне в этом, пожалуйста.. Я трачу больше недели на эту проблему сейчас.. Любые предложения будут более полезными..

1 ответ

Решение

Извините, ребята, это была моя ошибка снова. За основным изображением мы устанавливаем еще одно фоторамку. Это изображение просмотра получает прямые данные UIImage. Я должен был сослаться на изображение Path вместо этого.

Я не заметил этого раньше. Когда я изменил его на UIImage imageWithContentsOfFile:, это сработало...

Другие вопросы по тегам