掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TreeViewのNodeパスの取得 (ID:4126)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
速度効率をとる場合、代償はメモリ効率の低下・開発効率の低下です。 平蔵さんの方法をとると、深いツリー構造であればあるほど、速度効率は上がります。 その代わり、単純にツリーに追加するだけでなく、そのアイテムに対してデータを用意しなければなりません。 ツリーアイテムが増えれば増えるほど、メモリ使用量は増加します。たとえば、3文字のフォルダ名(終端文字列を含めて4バイト)で、3階層まであった場合、 1つの親に対し、3つの子供があり、さらに3つずつ(全9つ)の孫がある とすると、 1+3+9=13。 3つの親があるので、39。 それぞれが3文字であるので、終端文字を含めれば、1つあたり4バイト。合計156バイト。 これを、それぞれにフルパスを持たせると、 親の数は3。文字数は12。 子供の数は9。文字数は(フォルダ名3+区切り文字1+フォルダ名3+終端文字列1=8)。72。 孫の数は27。文字数は、(フォルダ名3+区切り文字1+フォルダ名3+区切り文字1+フォルダ名3+終端文字列1=12)。324。 この合計なので、408バイト。 親をたどる場合、すでにキャプションにこの文字列が含まれていることから、フルパスにすると(この例では)408バイト余分に使われることになります。 ハードディスク内をツリーにする場合には、もっと容量が必要になるので、このことも考慮しなければなりません。 メモリは有限ですから。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.