背景
- 我有一个存储在瞬态属性中的计算值。
- 每次我的应用程序启动时,都需要更新瞬态。
- 启动时间真的很慢(即10-15秒)
- Instruments 确认更新非常昂贵。
问题
可以将计算值存储在持久属性中吗?
我会使用Martin Brugger 的 Dependent Properties来保持计算的值是最新的。
更多信息
我计算的值是数千个对象的持续时间:
Name Duration
Users 70s
Proposal.doc 35s
12:32-12:32 5s
13:11-13:11 30s
Proposal2.doc 35s
14:32-14:32 15s
15:11-15:11 20s
...thousands more objects...
我试过的
我已经使用预取最小化了触发的故障数量,
setReturnsObjectsAsFaults:NO
但它使用了大量内存并且仍然需要很长时间。我已经使我的瞬态更新代码尽可能高效。
我知道我可以在后台线程上获取并使用进度条,但我希望用户根本不必等待。