【问题标题】:Show ProgressBar in an AppWidget that updates every second在每秒更新的 AppWidget 中显示 ProgressBar
【发布时间】:2015-07-27 19:27:23
【问题描述】:

在实施之前我一直在研究这个主题。
事情是,我的是一个音乐播放器应用程序,我正在为它制作一个小部件,以控制音乐播放。我想在小部件中添加SeekBar,但不支持。支持ProgressBar,但几乎没有任何小部件使用它。所以我怀疑使用ProgressBar 会如何影响我用户手机的性能(在电池寿命和内存使用方面)。

由于ProgressBar 用于显示音乐播放的当前位置,因此必须每秒更新一次。我在这里读到progress bar in appwidget for a playback service 每秒更新小部件的ProgressBar 是个坏主意。但是这个帖子已经有4年多了。找不到更新的东西。

问题是,在应用小部件中使用每秒更新的ProgressBar 仍然是个坏主意吗?或者最新的安卓更新带来了任何新的方式来有效地做到这一点?如果是,那么我们该怎么做呢?

任何指导都会很有帮助。

【问题讨论】:

    标签: android android-appwidget


    【解决方案1】:

    问题是,在应用小部件中使用每秒更新的 ProgressBar 是否仍然是个坏主意?

    一般来说,每秒更新一个应用小部件是个坏主意,无论这是否涉及ProgressBar。频繁的 IPC 效率低下,尤其是因为您甚至不知道用户是否可以看到 ProgressBar

    话虽如此,在您的用例中,如果您只在应用播放音乐时更新 ProgressBar,则应用小部件 IPC 的功耗将与音乐播放的功耗相形见绌。

    【讨论】:

    • 感谢您的回复。 ProgressBar 只会在我的应用程序播放音乐时更新。现在我应该怎么做?我的意思是可以保留 ProgressBar 的引用并使用它在线程中更新它。还是每次都需要使用更新的进度创建 RemoteView 并使用它来更新小部件?
    • @Anjani:“我的意思是可以保留 ProgressBar 的引用并使用它在线程中更新它” - ProgressBar 不在您的进程中;你永远没有参考它。 “或者每次都需要使用更新的进度创建一个 RemoteView 并使用它来更新小部件?” -- AFAIK,是的。
    • 感谢您的帮助。对此,我真的非常感激。我会让这个问题停留一两天,以便其他人也可以分享他/她对此事的看法。否则我会接受这个。再次感谢。
    猜你喜欢
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 2011-09-21
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多