Android 在后台重复异步任务

Android 在后台重复异步任务,android,Android,我创建了一个从AsyncTask类扩展而来的类,用HTTPPOST从SQLServer获取数据,但我需要在后台每隔X秒重复执行一次此类。我的意思是,如果用户打开另一个活动,该类将继续执行,如果它从服务器获得消息,它将在任何活动的对话框中设置该消息,您肯定可以在任何时间使用计时器 Timer mTimer = new Timer() mTimer.schedule(new TimerTask() { @Override

我创建了一个从AsyncTask类扩展而来的类,用HTTPPOST从SQLServer获取数据,但我需要在后台每隔X秒重复执行一次此类。我的意思是,如果用户打开另一个活动,该类将继续执行,如果它从服务器获得消息,它将在任何活动的对话框中设置该消息,您肯定可以在任何时间使用计时器

         Timer mTimer = new Timer()
          mTimer.schedule(new TimerTask() {
                @Override
                public void run() {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                           //Write your Code
                        }
                    });
                }

            }, 0, your desired seconds * 1000);
        }
    });

你可以在任何时间使用定时器

         Timer mTimer = new Timer()
          mTimer.schedule(new TimerTask() {
                @Override
                public void run() {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                           //Write your Code
                        }
                    });
                }

            }, 0, your desired seconds * 1000);
        }
    });

将AsyncTask作为主活动的内部static类,在创建静态变量赋值时仅实例化AsyncTask一次,但首先检查变量是否为null,这样可以避免在重新创建活动时重新实例化

处理程序、Runnable或用于计时的任何东西也必须是静态的


从理论上讲,无论是否创建了活动,这都会使AsyncTask运行。

将AsyncTask作为主活动的内部静态类,仅在创建静态变量赋值时实例化AsyncTask一次,但首先检查变量是否为空,这将避免在重新创建活动时重新实例化

处理程序、Runnable或用于计时的任何东西也必须是静态的


从理论上讲,无论是否创建了活动,这都会使异步任务运行。

处理程序和可运行是否会降低应用程序的速度否,我使用了很多处理程序和可运行是否会降低应用程序的速度否,我从未发现过速度缓慢处理程序和可运行是否会降低应用程序的速度否,我用了很多,但从来没有发现过慢