Java 为什么发出通知很慢?

Java 为什么发出通知很慢?,java,android,notifications,Java,Android,Notifications,我正在为Android创建一个应用程序,但它没有在市场上列出,所以我制作了自己的更新程序 异步任务在后台运行,以检查新版本。当有新版本时,它会创建一个通知 当通知位于状态栏中时,打开状态栏的速度很慢(有时单击通知将不起作用) 这是我的密码: public static void makeNotification(Class<?> newclass, CharSequence msg,

我正在为Android创建一个应用程序,但它没有在市场上列出,所以我制作了自己的更新程序

异步任务在后台运行,以检查新版本。当有新版本时,它会创建一个通知

当通知位于状态栏中时,打开状态栏的速度很慢(有时单击通知将不起作用)

这是我的密码:

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();