用于片段的Android缓存重对象

时间:2016-11-11 00:20:43

标签: android performance android-fragments android-activity

每次进入片段时,缓存重物(最长启动时间)的最佳位置在哪里不构建。我想将它保存在Activity中并在每次初始化片段时传递。这听起来合情合理吗?那有什么好的模式吗?

2 个答案:

答案 0 :(得分:0)

听起来合理吗?

是的,如果同一个对象与不同的片段和/或位置共享其属性,则是明智的。

有什么好的模式吗?

我不记得给定场景的任何特定模式,但是在ActivityFragment之间进行协调是一种很好的做法。看看Communicating with Other Fragments

答案 1 :(得分:0)

  

不,该对象从DB中获取了大量内容并进行了一些额外的计算。计算时间约为5秒。每次输入片段时都不能这样做

太小的信息以完全回答您的问题。尽管如此,仅仅缓存计算结果并在随后的使用中显示它可能就足够了,而第一次甚至可以接受阻止UI,在5秒内显示“请等待。计算”。或者,或许更好地从用户角度生成后台线程,它读取缓存值或进行计算,一旦完成该阶段,通知(即使用事件总线,rxjava甚至广播)片段以使用私有计算结果更新自己