2016-03-21 11 views
0

iOSでuiscrollviewを使用しているときにメモリの問題が発生しています。ベストプラクティスUIScrollView

私は巨大なサブビュー(4000x600)でスクロールビューを持っています。 このサブビューには、サブビューとして他のUIImageViewsがあります。

これはケースです:

Test

私はscrollviewを開くと、私はメモリとプロセスの両方が劇的に増加して見ることができます。

問題を修正するために知りたいことは次のとおりです。 私のビューを直接「スクロールビュー」に追加する方が良いでしょうか?

ありがとうございます。

答えて

5

あなたの多くのサブビューがスクロールビューのサブビューまたは1つの大きなコンテナビューとして直接追加されるかどうかは関係ありません。すべてが一緒に追加されている限り、それらはメモリに残っており、リソースを無駄にしません。代わりに、ユーザーが左右にスクロールすると、これらのサブビューを動的に追加して削除する必要があります。

ホイールを発明する代わりに、UICollectionViewを使用してください。それはあなたが必要とするものを正確に達成するためのものです。各画像ビューはそのコレクションビュー内のセルになります。コレクションビューはビューの再利用を管理し、スクロール位置の周囲に表示するために必要なセルのみをメモリに保持します。私は追加したい

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICollectionView_class/

+1

唯一のことは、あなたが別のスレッドで、同期した画像を読み込んでいることを確認することです。 – PeejWeej