StorageFolder.GetFilesAsync信じられないほど遅いです:〜3500個のファイル戻るのWindows Phone 8.0 Silverlightで StorageFolder.GetFilesAsync()よりも高速にフォルダのファイルを取得できますか?
とフォルダの
- 〜7秒、私ははるかに高速に、CameraRollのコンテンツを取得することができました(経由MediaLibrary):ファイルの同じ量のため
- < 1秒
GetFilesAsync
を高速化する可能性はありますか、またはフォルダのファイルを取得するための代替方法はありますか?ジオタグジオタグまたはDateTakenのような情報をすぐに抽出するには写真ファイルが必要です。私のアプリケーションでSilverlightをロードした速度は、GeoPhoto - UWPに移植しようとしています。私は既にキャッシュ(ジオタグとDateTakenを画像パスでマッピング)を実装しているので、後続のアプリ開始のためにピクチャパスが必要になります。まだキャッシュされていない写真は、後で(
GetFilesAsync
-longの後に)表示することができますが、アプリを起動した直後にユーザーが操作できるようにすることが重要です。あなたは、この読んだ場合、私は疑問に思う
あなたは 'Windows.Storage.BulkAccess'名前空間を試してみましたか? 'FileInformationFactory.GetFilesAsync'と' FileInformationFactory.GetVirtualizedFilesVector'は速いかもしれません。 –
@RaymondChenは - 私はちょうど私が前にそれを使用したことがないだろうと、それは速かったかどうかを確認するために 'FileInformationFactory.GetFilesAsync'方法を試してみました...私は10500個のファイルをアップ焼いラメの例では、それは、返すために45〜60秒です'StorageFolder.GetFilesAsync'と同様です。 – WiredPrairie
フォルダはインデックスされた場所(ライブラリなど)にありますか?もしそうでなければ、ディスクを叩くこと以外に選択肢はありません。また、 'GetVirtualizedFilesVector'を試しましたか?私の推測では、仮想化されたベクトルは、コンテンツを遅延的に生成できるため、仮想化されたベクトルの処理が少なくて済みます。 –