我正在编写一个显示“日本传统时间”(简称 JTT)的应用程序。有几个组件(通知、小部件、应用程序本身、警报)都使用相同的数据 - 当前的 JTT。
我当前的版本使用一个服务来完成所有的计算,并使用一个处理程序来通知每个人关于“滴答”,模仿ACTION_TIME_TICK
。
但是,对于警报,我还需要一种将“通常时间”转换为 JTT 的方法,反之亦然。这些计算非常耗费 CPU(这一切都基于日出和日落),因此我更喜欢在一个地方完成所有计算然后缓存(计算知道日出和日落时间的东西并不那么重)。
所以我现在有几种方法可以做到这一点:
- 保持一切正常
- 并使用绑定来请求我需要的数据。它实际上已经在一个案例中完成,并且看起来有点麻烦,因为我必须处理异步响应
- 移至内容提供商
- 并使用内容观察者而不是广播
- 或从提供商发送广播
- 结合两种方式
- 使用内容提供者计算服务数据,然后在需要时广播它
哪个会更好?也许还有别的?