メモリ上のimage変数を削除したい。

こんにちは
UiPath Studio 2024.10.4Community editionのユーザです。

1.やりたいこと

メモリ上のimage変数を削除したい。

2.悩んでいること

以前有識者の方に、Invoke methodでDisposeメソッドを呼び出す方法を習いましたが、(添付画像参照)
Dispose

Community Editionのバグでこの方法は使えないため、下記の代入文で代替できないでしょうか。

img = Nothing

Hi @gorby

Yes, we can use img = Nothing

Regards,

参考になりますが、変数にnullを代入しても、その変数からの参照が破棄されるだけで、確保されているリソースが即座にリリースされる訳ではありません。
今回の目的によってはDisposeの代わりにはなり得ないと思います。

ありがとうございます。早くCommunity EditionでInvokeMethodが使えるようにしていただきたいものです。

試せていませんが、InvokeCodeにIN型でその変数を渡して、その中でDisposeすれば破棄されるように思えますので、一度試してみてはと思います。

即座にリリースされなくても、一定時間経過すれば、ガーベッジコレクションされるか、他の変数の値で上書きされないのでしょうか。

アンマネージドリソースなのて、GCでは解放されません。解放されていないメモリ領域に、通常他の情報が上書きされることはありません。

invoke codeを自作してみましたがこれで問題ないでしょうか?
また、正常動作を確認する方法が分かりませんので、確認する手段があればご教示ください。

IF文の部分はInvokeCodeの外でも書けるので、中身の最小は image.Dispose() になるかと思います。

Disposeしない場合はメモリリークの可能性が出てくるということになりますので、そのような事象が顕在化している場合は、それが発生しないことが取り急ぎの確認方法になるかと思います。

そのような事象を経験してないのでよく分かりませんが、メモリーリークしたら、「メモリーリークしました。」というエラーメッセージが出るのでしょうか?

メモリがリークしたからと言って必ず例外が出るわけではありません。
結果としてリソース不足などにつながり例外が出ることがあります。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.