UIPageViewController ulega awarii w przypadku zbyt szybkiego przerzucenia podczas niskiej pamięci

Miałem pewne problemy z pamięcią ze względu na szablon Xcode'a dla UIPageViewController, który buforował wszystkie dane strony, więc zmieniłem go tak, aby ładował strony dynamicznie, więc teraz, gdy moja aplikacja otrzyma ostrzeżenie o małej pamięci, zwalnia pamięć, aby strona nie wyświetlała się, ale jeśli użytkownik szybko przegląda strony, stukając krawędź ekranu, nadal się zawiesza. Zgaduję, że to dlatego, że nie można wystarczająco szybko zwolnić pamięci, gdy zostanie wywołane didReceiveMemoryWarning. Jeśli użytkownik odwraca się powoli, działa dobrze. Ograniczyłem szybkość, z jaką użytkownik może odwracać strony, ale nadal się to zdarza. Chcę mieć możliwość zwolnienia pamięci za każdym razem, gdy strona jest włączona, i nie trzeba czekać na ostrzeżenie o małej ilości pamięci. Używam ARC. Czy istnieje sposób, aby to zrobić? Albo co jeszcze mogę zrobić, aby temu zapobiec? Dzięki.

EDYTOWAĆ:

<code>(UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
    NSUInteger index = [self indexOfViewController:(SinglePageViewControllerSuperclass *)viewController];
    if ((index == 0) || (index == NSNotFound)) {
        return nil;
    }

    index--;
    return [self viewControllerAtIndex:index];
} 

(UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
    NSUInteger index = [self indexOfViewController:(SinglePageViewControllerSuperclass *)viewController];
    if (index == NSNotFound || index == MAX_PAGE_INDEX) {
        return nil;
    }

    return [self viewControllerAtIndex:++index];
}
</code>

questionAnswers(5)

yourAnswerToTheQuestion