すべてのページデータをキャッシュするUIPageViewControllerのXcodeのテンプレートが原因でメモリの問題が発生したため、ページを動的にロードするように変更しました。これで、アプリがメモリ不足の警告を受け取ると、ページが表示されないようにメモリが解放されます。ユーザーが画面の端をタップすることでページをすばやくめくっていますが、それでもクラッシュします。これは、didReceiveMemoryWarningが呼び出されたときにメモリを十分に速く解放できないためだと思います。ユーザーがゆっくりと弾いている場合は、正常に機能します。ユーザーがページをめくる速度を制限しましたが、それでも発生します。ページがめくられるたびにメモリを解放できるようにし、メモリ不足の警告を待つ必要がないようにしたい。ARCを使用しています。これを行う方法はありますか?または、これを防ぐために他に何ができますか?ありがとう。
編集:
(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];
}