答案 0 :(得分:5)
我遇到了类似的问题,看起来RemoteViews有内存泄漏,不应该重复使用。
看看这些主题:
android memory leak in notification service
http://code.google.com/p/android/issues/detail?id=13941
http://groups.google.com/group/android-developers/browse_thread/thread/667343a171e51463#
祝你好运答案 1 :(得分:4)
这是一种常见的行为。您不应该频繁更新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;
这对我来说非常有效,也不会冻结通知。希望这有帮助!
答案 2 :(得分:2)
您的通知太频繁了。这就是冻结的原因。让它们以更大的间隔更新。好的是每秒或2秒一次。