2017-08-28 28 views
3

Imageに割り当てられたメモリが解放されていないことに気付きました。打ち上げアプリなしQmlイメージとメモリ解放

システム以下のメモリの値があります:423MiB/1985MiB(NVIDIA-SMI経由で確認)

私はアプリを起動してクリックしています

(変化する画像のソース)を数回使用してメモリが増加しているが(1クリックすると4〜5MBが追加されます):1950MiB/1985MiB

"cache"プロパティをfalseに設定しても効果はありません。

私は回避策を見つけました:画像の可視性を変更しますが、この場合は多くの画像アイテムが必要です。

「可視」ではない「ソース」プロパティを使用するソリューションが存在しますか?

QMLソース:

Image { 
    id: trg 
    anchors.fill: parent 
    cache: false 

    states: [ 
     State { 
      name: "on" 
      PropertyChanges { 
       target: trg 
       source: "qrc:/1.png" 
      } 
     }, 
     State { 
      name: "off" 
      PropertyChanges { 
       target: trg 
       source: "qrc:/2.png" 
      } 
     } 
    ] 
} 

MouseArea { 
    property bool isOn: false 
    anchors.fill: parent 

    onClicked: { 
     if (isOn) { 
      trg.state = "on"; 
     } 
     else { 
      trg.state = "off"; 
     } 
     isOn = !isOn; 
    } 
} 
+1

はい、キャッシュシステム/ gsはQMLを吸っています。 – folibis

答えて

2

は残念ながら、それはすでにQT 5.9.2スナップショットに固定されたバグ(QTBUG-61754とさらにいくつか)(私は5.9.1バージョンを使用するために使用される)でした。

関連する問題