diff --git a/.gitignore b/.gitignore index 71a84e4..0e593dd 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ Thumbs.db *.exe *.exe.old *~ +u-tabs.prof diff --git a/internal/app.go b/internal/app.go index 2812734..dce11ed 100644 --- a/internal/app.go +++ b/internal/app.go @@ -108,6 +108,10 @@ func (m *Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.update.Checking = false case cacheFlushMsg: m.flushCache() + // 只在仍有脏数据时继续调度,避免空转 + if m.cacheDirty { + return m, cacheFlushTick() + } return m, nil case tea.QuitMsg: m.flushCache() diff --git a/main.go b/main.go index 4ea9714..1d3ce91 100644 --- a/main.go +++ b/main.go @@ -13,7 +13,7 @@ import ( func main() { internal.InitData() m := internal.NewModel() - p := tea.NewProgram(m, tea.WithFPS(5)) + p := tea.NewProgram(m, tea.WithFPS(0)) if _, err := p.Run(); err != nil { fmt.Fprintf(os.Stderr, "启动失败: %v\n", err) os.Exit(1)