2

私の WPF プロジェクトは iTunes API を利用しています。起動時に、iTunes ライブラリを API からメモリにロードするバックグラウンド スレッドがいくつかあります (これは、アプリの実行後のパフォーマンス上の理由によるものです)。

ただし、ライブラリのロードは非常に遅いです。3分近くのオーダーです。

ごく最近、ライブラリを DataSet に保存しようとしたので、読み込み時間が速くなり、アプリの実行中にバックグラウンドで DataSet を更新することができましたが、これも実際には機能しませんでした。DataSet が正しく保存されません。

ローカルの MDF データベースも使用してみましたが、どちらも思い出せない理由でうまくいきませんでした。

主な問題点は、iTunesLib.IITTrack COM オブジェクトを保存する必要があることだと思います。

私の質問は、どうすればこのライブラリをより速くロードできるかについて何かアイデアがあると思いますか? 私はアイデアが不足しています。

4

2 に答える 2

1

ただし、ライブラリのロードは非常に遅いです。3分近くのオーダーです。

その読み込み時間に何か問題があります。コードをプロファイリングして問題を見つけることをお勧めします。コードまたは iTunes API のバグのいずれかで、通常よりもはるかに優れています。

iTunes APIについてはわかりませんが、それはCOM APIであるため 、iTunes APIがMTAスレッド(.netスレッドのデフォルト)を使用しない場合に備えて、ロードスレッドTread.ApartmentStateをSTAに設定しようとします

于 2009-04-06T20:21:52.593 に答える
0

私の経験では、iTunesCOMインターフェイスからの読み込みは遅いプロセスです。iTunes自体がボトルネックであり、できることはあまりありません。

于 2009-04-11T13:11:15.027 に答える