Creator-js のリーク検出に関する記事


タイトル: リーク検出に関する Creator-js の記事
カテゴリ: Cocos2dx
タグ: [クリエイター, 最適化, リーク, メモリ]
日付: 2023-03-28 16:16:49
コメント: false
mathjax: true
toc: true

Creator-js のリーク検出に関する記事


前編

ui をテストとして使用します。通常の状況では、ui を繰り返し開いたり閉じたりすると、ui インスタンスがリサイクルされます。


テスト 01 - 通常の回復

  1. ここに 3 つのスナップショットがあります。1 つは UI がロードされていないもの、2 は UI がロードされているもの、3 つは UI が破棄されたものです

    画像-20230328162537307

  2. スナップショット 2 とスナップショット 1 を比較します

    画像-20230328162557112

    ui をロードした後、ui インスタンスを追加します (UIPnlxxx は UI クラス名のプレフィックスです)

  3. スナップショット 3 とスナップショット 2 を比較します

    画像-20230328162621166

    uiを破壊すると、uiインスタンスが1つ減少します

  4. スナップショット 3 とスナップショット 1 を比較します

    画像-20230328162647950

    ui インスタンスはありません。ui インスタンス オブジェクトが正常にリサイクルされたことを示します。


テスト 02 - 模擬リーク

  1. イベント システムがこのインスタンスを参照できるように、ui の初期化時に意図的にイベントを登録します。

    画像-20230328162731030

  2. UI 操作は上記と同じで、スナップショット 3 とスナップショット 1 を直接比較します。

    画像-20230328162749234

    ui インスタンスが破棄されていないことがわかります。ui を開いて破棄し続けると、この数値が増加し続け、リークを示していることがわかります。

  3. この ui クラスを展開し、ui インスタンスをクリックすると、下の [Retainers] 列にこの ui インスタンスの参照チェーンが表示され、イベント システムによって参照されていることがわかります。

    画像-20230328162833823


おすすめ

転載: blog.csdn.net/yangxuan0261/article/details/129819160