Android通知进度条冻结

Jes*_*elo 4 java notifications android progress-bar

这是我正在使用的代码

http://pastebin.com/3bMCKURu

问题是,经过一段时间(文件获得更多权重)通知栏下拉速度变慢,最后它就冻结了!

Ari*_*Roy 7

这是常见的行为。您不应该将频繁的更新充斥于NotificationManager。您应该确定一个更新间隔,例如每秒两次。

例如,

long startTime;
long elapsedTime = 0L;

if (elapsedTime > 500) {
                    new Handler(Looper.getMainLooper()).post(new Runnable() {
                        @Override
                        public void run() {
                            mBuilder.setProgress(100, (int) newValue, false);
                            mNotifyManager.notify(notificationID, mBuilder.build());

                            startTime = System.currentTimeMillis();
                            elapsedTime = 0;
                        }
                    });

                    Log.d("Andrognito", newValue + "Progress");
                }
                else
                    elapsedTime = new Date().getTime() - startTime;
Run Code Online (Sandbox Code Playgroud)

这对我来说非常有效,也不会冻结通知。希望这可以帮助!