У меня есть служба, которая создает уведомление, а затем периодически обновляет его с определенной информацией. Примерно через 12 минут телефон выйдет из строя и перезагрузится, я полагаю, что это вызвано утечкой памяти в следующем коде, чтобы сделать, как я обновляю уведомление, может кто-то, пожалуйста, проверьте/посоветуйте мне, если это так, и что я я делаю неправильно.Устранение утечки памяти Android в службе уведомлений
OnCreate:
mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
createNotification:
private void createNotification() {
Intent contentIntent = new Intent(this,MainScreen.class);
contentIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent appIntent =PendingIntent.getActivity(this,0, contentIntent, 0);
contentView = new RemoteViews(getPackageName(), R.layout.notification);
contentView.setImageViewResource(R.id.image, R.drawable.icon);
contentView.setTextViewText(R.id.text, "");
notification = new Notification();
notification.when=System.currentTimeMillis();
notification.contentView = contentView;
notification.contentIntent = appIntent;
}
updateNotification:
private void updateNotification(String text){
contentView.setTextViewText(R.id.text, text);
mNotificationManager.notify(0, notification);
}
Спасибо заранее.
Пожалуйста, разместите часть Logcat прямо перед перезагрузкой. – smith324
Это просто GC становится все больше и больше, пока он не вызывает проблем и не начинает убивать вещи и перезагружается. – stealthcopter
Убедитесь, что это точно ваше приложение. Попробуйте полностью удалить его и посмотреть, все ли это происходит. Возможно, какое-то другое приложение вы установили недавно. – Moncader