2

我的 WPF 项目使用 iTunes API。在启动时,有几个后台线程负责将 iTunes 库从 API 加载到内存中(这是出于应用程序运行时的性能原因)。

但是,加载库非常缓慢。将近三分钟的时间。

最近,我尝试将库保存到 DataSet,这样加载时间会更快,并且我可以在应用程序运行后在后台更新 DataSet,但这也不起作用。它不会正确保存数据集。

我也尝试过使用本地 MDF 数据库,但由于我不记得的原因而出错了。

我认为主要的症结在于我需要保存 iTunesLib.IITTrack COM 对象。

我的问题是,我想,你们对如何更快地加载这个库有什么想法吗?我的想法不多了。

4

2 回答 2

1

但是,加载库非常缓慢。将近三分钟的时间。

加载时间有问题,我建议您分析代码并找到问题,它超出正常范围,要么是您的代码中的错误,要么是 iTunes api 中的错误。

我不了解 iTunes api,但因为它是一个 COM api,所以尝试将加载线程 Tread.ApartmentState设置为 STA,以防 iTunes api 不使用 MTA 线程(这是 .net 线程的默认设置)

于 2009-04-06T20:21:52.593 回答
0

根据我的经验,从 iTunes COM 界面加载是一个缓慢的过程。我发现 iTunes 本身就是瓶颈,没有什么可以做的。

于 2009-04-11T13:11:15.027 回答