Java 为什么发出通知很慢?
我正在为Android创建一个应用程序,但它没有在市场上列出,所以我制作了自己的更新程序 异步任务在后台运行,以检查新版本。当有新版本时,它会创建一个通知 当通知位于状态栏中时,打开状态栏的速度很慢(有时单击通知将不起作用) 这是我的密码:Java 为什么发出通知很慢?,java,android,notifications,Java,Android,Notifications,我正在为Android创建一个应用程序,但它没有在市场上列出,所以我制作了自己的更新程序 异步任务在后台运行,以检查新版本。当有新版本时,它会创建一个通知 当通知位于状态栏中时,打开状态栏的速度很慢(有时单击通知将不起作用) 这是我的密码: public static void makeNotification(Class<?> newclass, CharSequence msg,
public static void makeNotification(Class<?> newclass,
CharSequence msg,
CharSequence from,
CharSequence message,
int icon, Context c) {
PendingIntent newintent = PendingIntent.getActivity(c, 0, new Intent(c, newclass), 0);
NotificationManager nm = (NotificationManager) c.getSystemService(NOTIFICATION_SERVICE);
Notification notif = new Notification(icon, msg, System.currentTimeMillis());
notif.setLatestEventInfo(c, from, message, newintent);
nm.notify(0, notif);
}
为什么这么慢?(有时我甚至无法打开状态栏)为什么有时单击它甚至不可能呢?我怀疑你在循环中反复调用它。您正在使用手机的所有可用CPU周期检查更新;) 考虑查看时间表
new CountDownTimer(1000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
asynctask是否多次运行?通知的代码位于if循环->check edited questionNo中,但它怎么会坐在那里等待更新呢?AsyncTask()包含一个循环,用于监视更新?是的。。。你基本上是在尽你的设备或模拟器所能的速度循环代码。你需要检查一个周期,而不是(!error){/}啊,你是对的:)代码还没有完成,但我已经测试过了,需要在找到时打破这个循环,谢谢!
new CountDownTimer(1000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();