.remove().addView()とViewStubを使用する違いは何ですか? ViewStubによるレイアウト効率の向上ビューの削除または追加vs ViewStub
0
A
答えて
1
あなたがViewStub
を使用するときに、this articleで見ることができるように、必要な場合を除き、あなたのスタブ内の<include />
は(VISIBLE
にスタブの可視性を設定したりshow()
を呼び出す)に膨張されることはありませんレイアウト。 利点は、含まれているビューのいずれもビュー階層に含まれないため、ビューがより軽いことです。膨張させた後
: ViewStubが膨張ません:
あなただけ(()(またはshow)VISIBLE reinflateを設定するときに、ここでのトレードオフを持っていますViewStubレイアウト上)が発生します。
0
ViewStubは、パフォーマンスの面でビューを追加するのと同じです。 ViewStub.inflate()を見てください。それは動的にビューを追加することです。
public View inflate() { ... final View view = factory.inflate(mLayoutResource, parent, false); ... parent.addView(view, index, layoutParams); } else { parent.addView(view, index); } ... return view; }
関連する問題
- 1. 追加ビューが削除されない
- 2. viewcontrollersビューを追加/削除する
- 3. Django manytomany追加または削除
- 4. サブビューから追加/削除されたビューのアニメーション
- 5. ビューを削除して別のビューを追加する
- 6. 動的に追加またはasp.net MVCのビュー内のオブジェクトを削除
- 7. ビュー内の各レコードに削除アイコン "x"を追加します
- 8. UIPanGestureRecognizerをビューに追加した後に削除する
- 9. ワークフローで追加されたボタンを削除するビュー
- 10. Ember.js DOMからビューを追加したり削除したりしますか?
- 11. ビューを正しく削除し、サブビューを追加します。
- 12. UI要素を非表示/表示vs追加/削除(スウィフト)
- 13. スタンドアロンCollectionTypeは(追加/削除)
- 14. Nhibernateデータオブジェクトにオブジェクトが追加、削除、追加されました
- 15. ソフト削除VSハード削除
- 16. レイヤーを追加/削除するリーフレット効果の防止または削除
- 17. jQuery追加/削除 - 追加しますが、削除しません。
- 18. jQuery FlexSliderを使用したスライドの追加または削除
- 19. Dynamicドロップダウンリストによる部分ビューの削除追加MVC
- 20. Interface Builderを使用してUIViewを追加し、別のビューを削除してから別のビューに追加
- 21. 追加、更新、または削除後のバインディングソースのリフレッシュ
- 22. スレッドセーフな列挙、Cでのコレクションの追加または削除#
- 23. firebaseのクラウド機能 - データの削除または追加
- 24. TreeNodeへのレベルの追加または削除
- 25. リンククラスの削除/追加onclick
- 26. jQueryクラスの追加/削除
- 27. クラスの追加と削除
- 28. フレンドボタンの追加と削除
- 29. キーボードの追加と削除
- 30. イベントリスナーの追加/削除
おかげであなたの答え。私もこの記事を見つけました。ビューと.addView()を動的に削除()するとどうなりますか? ViewStubを使用する代わりに、削除するとメモリも削除されます。それは同じ考えかどうか? – eralp
あなたは正しいです、それはメモリからビュー全体を削除します。問題は、Viewの追加と削除のパフォーマンスです。コストのかかる操作です。そのため、ViewStubはGoogleが作成したものです。ビュー階層の一部を膨らませているだけなので、軽くなっています。 – Leonardo
ありがとうございました。 [Leonardo Ferrari](https://stackoverflow.com/users/1232131/leonardo-ferrari) – eralp