osfans / trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android
http://osfans.github.io/trime/
GNU General Public License v3.0
3.08k stars 372 forks source link

“定时同步”无法真正定时 #1297

Open Iey4iej3 opened 7 months ago

Iey4iej3 commented 7 months ago

Describe the bug 设置了“定时同步”,但无法真正每天定时同步。

To Reproduce Steps to reproduce the bug:

  1. 设置“定时同步”,例如把同步时间设置成 2:00。
  2. 第二天使用 Trime 输入。

Expected behavior 每天 2:00 同步。 现在情况:当第二天使用 Trime 时开始同步,然后进入设置发现同步时间变成了第二天使用 Trime 的时间。

Smartphone (please complete the following information):

goofyz commented 6 months ago

每個系統對「定時」的支援都不一樣。現在同文使用的是 AlarmManager.setExactAndAllowWhileIdle(),理論上是最「準時」但「耗電」的,但 OS 還是有機會殺掉這排程。 個人認為用 AndroidX Work Manager 來控制排程較為理想,但它不能設定特定時間去執行,需要先計算時間。而且,它還是有低概率被殺。

Iey4iej3 commented 6 months ago

我的猜测是目前的同步模式在 Doze 下会被 kill,下次用时才被唤醒,所以刚尝试 Trime 输入时就同步。一个很明显的问题是,设置的同步时间,在那时同步后会修改成那个时间,也就是说连设置里面的那个同步时间每天都会变。

wxyzh commented 6 months ago

我这两天观察了下,com.osfans.trime.sync也不能正常工作

Sunpulseqd commented 1 week ago

com.osfans.trime.sync失效 版本3.3 版本3.2.19都试过了