1

私は助けが必要です。

内部にuiscrollviewを含むカスタムuitableviewcellがあり、nsarrayを反復処理し、addsubview:メソッドを使用してスクロールビューにカスタムuiviewsを追加します(drawrect:をサブクラス化し、カスタム描画を実行します)。毎秒更新すると、メモリ警告が表示され、クラッシュします。アプリ。私のプロジェクトはARCです。リリースを呼び出すことはできません。それを行うのは最善の解決策ではないと思います。

ありがとう。

4

5 に答える 5

2

単純。5000 ビューを表示しないか、表示する必要があるビューのみを作成/保持します。

表示されていないものをクリアします。または、それらがすべて同時に表示されている場合は、別のアプローチを使用してレンダリングします。

于 2012-08-21T10:12:59.813 に答える
1

最後に、2番目のアプローチ(単一のUIViewをカスタム描画してスクロールビューに追加する)を使用します。ご協力いただきありがとうございます。

于 2012-08-21T18:28:31.730 に答える
1

ジャスティンの回答の改善。データのリストがある場合は、UITableView の仕組みを調べたほうがよいでしょう。

ゲームの構築を検討していて、一度に多数の小さなグラフィックスを画面に表示する場合は、Cocos2d や Sparrow などの主要な 2D レンダリング ライブラリを使用することをお勧めします。

これらは、Justin のアイデアを実装できるいくつかの方法です。前者は、各行が使用されるときに描画する (つまり、メモリに保持する) だけです。後者は、多数の小さな画像を処理するために構築されており、カスタム描画ルーチンを実行することで、大量のグラフィックスでより優れたパフォーマンスを発揮します。

于 2012-08-21T11:02:04.723 に答える
0

数回の更新後にのみクラッシュする場合は、メモリリークが発生している可能性があります。

おそらく、CGのものを使用している可能性があります。コアグラフィックスのものはARCによって維持されていないので、CGリリースを行う必要があります。不足しているリリースを追加することでこれを修正できます。または、バックグラウンドスレッドでグラフィックスを実行していない場合は、通常、同等のUIを使用できます。

于 2012-08-21T10:06:54.097 に答える