1

在这里提到:为什么通知更新这么慢,通知管理器更新很慢,我基本上使用以下代码行来更新我的音乐播放器上的通知:

 public Notification buildNotificationWithCurrentState(){
    NotificationCompat.Builder notif = NotificationCompat.Builder(context, ID)
                                       .setXXYYZZ(newDataReplaced) ....
    return notif.build();
 }
 Notification notification = buildNotificationWithCurrentState();
 mNotificationManager.notify( MUSIC_NOTIFICATION_ID, notification );

每次都需要建立一个新的通知,比如歌曲标题或信息会随着每个用户事件的变化而变化。现在,没关系,**只有通知更新滞后**,但是当上面的代码执行时,整个 UI 滞后。根据我的计算,它大约有 100 毫秒的延迟,这对我来说真的很糟糕。

我试过这样做:

Thread mThread = new Thread(
                new Runnable() {
                    @Override
                    public void run() {
                        Notification notification = buildNotificationWithCurrentState();
                        mNotificationManager.notify( MUSIC_NOTIFICATION_ID, notification );
                    }
                }
        );
        mThread.start();  

尽管看起来很愚蠢,但它不起作用,用户界面仍然滞后,我不知道为什么。如何更快地更新通知更新?我可以扭转任何钩子或黑客、花里胡哨以实现更快的更新吗?

4

0 回答 0