UIPageViewController stürzt ab, wenn bei wenig Arbeitsspeicher zu schnell gewechselt wird

Ich hatte einige Speicherprobleme, weil die Vorlage von Xcode für einen UIPageViewController alle Seitendaten zwischengespeichert hat. Daher habe ich sie geändert, um die Seiten dynamisch zu laden. Wenn meine App also eine Warnung zu wenig Speicher erhält, wird der Speicher für nicht angezeigte Seiten freigegeben, aber wenn Der Benutzer blättert sehr schnell durch die Seiten, indem er auf den Rand des Bildschirms tippt. Er stürzt immer noch ab. Ich vermute, das liegt daran, dass der Speicher nicht schnell genug freigegeben werden kann, wenn didReceiveMemoryWarning aufgerufen wird. Wenn der Benutzer langsam kippt, funktioniert es einwandfrei. Ich habe die Geschwindigkeit, mit der der Benutzer Seiten umblättern kann, begrenzt, aber es passiert immer noch. Ich möchte in der Lage sein, den Speicher bei jedem Umblättern freizugeben, und nicht auf eine Warnung zu wenig Speicher warten müssen. Ich benutze ARC. Gibt es eine Möglichkeit, dies zu tun? Oder was kann ich sonst noch tun, um dies zu verhindern? Vielen Dank.

BEARBEITEN:

<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>

Antworten auf die Frage(5)

Ihre Antwort auf die Frage