2012-08-22 6 views
7

私はSencha Touch 2を使い始めています。特にSencha Touch 2クリーンアップリソースはどのように

  • たちは、URLのリダイレクトによってトリガされているコントローラの束を持っている想像してみてください。コントローラのメソッドを呼び出す必要があるたびに、これらのコントローラインスタンスをキャッシュするか、Senchaが新しいインスタンスを作成するか。

  • ビューと同じ。 senchaはビューをキャッシュしますか、それを再レンダリングする必要があるたびに再作成しますか?正確にビューが破壊されたとき(そうであれば)?

  • どのようにsenchaがこれらの処理を制御できるのですか?

答えて

11

  1. 各コントローラのインスタンスが1つだけ煎茶によって作成され、あなたの質問に答えるために。だから、私は本当にあなたがコントローラインスタンスについて気にする必要はないと思います。 Senchaがそれを処理させてください。

  2. ビューの数と複雑さがパフォーマンスに密接に関連しているため、クリーンアップは実際にビューで実行する必要があります。開発者は(Javascriptを自身のガベージコレクションのメカニズムから離れて)明示的にDOMのクリーンアップの世話をしなければならない -

煎茶は、そのリソースは、特にクリーンアップしません。したがって、開発者は、ビューをいつ作成するか、将来の使用のためにDOM内に保持するか、隠されるとすぐに破棄するかを決定する必要があります。私はいくつかの例を挙げてみましょう:

A.

は、ユーザーがページに関するいくつかの情報を 示しINFOポップアップを開き、ボタンをクリックの上にあるとします。ユーザーが情報を読むと、彼は ポップアップを閉じます。今、ユーザーの観点から、非常に ユーザーがポップアップを再オープンする可能性があります。したがって、ユーザが閉じるとすぐにポップアップがDOMから削除される場合は、 が最適です。 これを再開したい場合は、ポップアップを再作成して と表示してください。

B.

同様ものと想定ユーザーは、ログインページにあり、 アプリケーションに署名します。ユーザーは アプリ内でログインページに戻ることはほとんどありません。そのため、ログインビューのインスタンスは、一旦そのインスタンスが隠されると破棄されます。

これらは、必要なときにビューを明示的に削除できるシナリオです。

A)Sencha Touch: Optimizing Memory Usage

B)http://www.slideshare.net/senchainc/optimizing-performance

+0

グレート答え:以下は煎茶とメモリの最適化についての良いアイデアを与えるいくつかの参照があります。私は最初に答えを得るために賞金を払わなければならないと信じられませんでした:-)私はそこにあるように、少し違ったものを扱うhttp://deftjs.orgという拡張があることに気付きました。 – Christoph

+0

:)嬉しいですそれが助けられたことを知ってください。もし私がそれを見たなら、私は早くそれに答えるだろう! – Swar