qooxdoo 1.6でdisposeとdestructがどのように機能しているかの完全な例を教えてください。 qooxdooのデモやドキュメンテーションで良い例は見つけられません。qooxdoo destruct、dispose
アドバイスありがとうございます。
qooxdoo 1.6でdisposeとdestructがどのように機能しているかの完全な例を教えてください。 qooxdooのデモやドキュメンテーションで良い例は見つけられません。qooxdoo destruct、dispose
アドバイスありがとうございます。
たぶん、メモリ管理に関するqooxdooのマニュアルの文書は役に立つことができます http://manual.qooxdoo.org/devel/pages/development/memory_management.html
処分と破壊が現実に表裏一体です:処分は、オブジェクトを破壊する行為です。これらの違いは、__destruct()をonDispose()メソッドとして考えることで、より明確になります。
経験則として、QXオブジェクトを作成するすべてのクラスが適切な破壊を行います。通常これはクラスのデストラクタで行われますが、ビジネスロジックによってはいつでも発生する可能性があります。
処分は(EX。)
this._disposeObjects("_buttonOk", "_buttonCancel");
this._disposeArray("_children");
this._disposeMap("_registry");
コールを介して行われます。いくつかのクラスは、qx.ui.core.Widgetのように、破壊のためのexplocitメソッドを提供することがあります。
これは非常に役に立ちました。それは思考をクリアする。 –
オブジェクトを操作する場合は、disposeを実装する必要はありません。自爆必要とされ、そしてないすべてのもののために(あなたがする必要はありませんこれは1、削除すべき1キャッチする上記参照)
それはなります。このようなルックスのみ:このような単純なよう
qx.Class.define("q.view.Home"),{
extend : qx.ui.core.Widget,
construct:function(){
this.base(arguments);
},
members:{
__qooxdoo_object:null
},
destruct:function(){
this._disposeObjects("__qooxdoo_object");
}
});
。 メモリ管理リンク上:これは非常に重要です: "qx.disposerDebugLevel": "2"
これは、適切に破壊されていないオブジェクトを自動的に報告します。
これで、削除すべきもの、適切な方法で削除されるものを正確に知ることができます。
また、これを想像し、あなたは5人の子供の入った容器(例えばコンポジット、または何かを)持って、あなたは内容ではなく、コンテナを空にしたい、あなたがそのように実行する必要があります。
(コンテナをされるに従って、すべての子供たちの親要素)
var childrenList = container.removeAll();
for(var i=0; i<childrenList.length; ++i){
childrenList[i].dispose();
}
あなたが唯一の私はqooxdooの枠組みの中でWidgetクラスを(知らない何らかの理由でオブジェを配置した場合は)時々エラーを発生させます。 removeAllだけの場合、子は破棄されず、削除されます。 (disposeとremoveAllの両方を行う場合)問題はなく、適切に処分されます。
はいこれは読んでいますが、DisposeとDestructを実装したクラスの例はありません。どのように動作するかを確認するには –