在这里提到:为什么通知更新这么慢,通知管理器更新很慢,我基本上使用以下代码行来更新我的音乐播放器上的通知:
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();
尽管看起来很愚蠢,但它不起作用,用户界面仍然滞后,我不知道为什么。如何更快地更新通知更新?我可以扭转任何钩子或黑客、花里胡哨以实现更快的更新吗?