android – 在5分钟的间隙后递归地启动AsyncTask

android – 在5分钟的间隙后递归地启动AsyncTask,第1张

概述我想创建一个类的实例(扩展Asynctask)并在每5分钟后调用它的execute()方法.为此,我尝试在onPostExecute()方法中调用Thread.sleep(5 * 60 * 1000),然后创建该类的新实例.代码如下. public class MyAsyncTask extends AsyncTask<String, Void, String>{ protected S 我想创建一个类的实例(扩展Asynctask)并在每5分钟后调用它的execute()方法.为此,我尝试在onPostExecute()方法中调用Thread.sleep(5 * 60 * 1000),然后创建该类的新实例.代码如下.

public class MyAsyncTask extends AsyncTask<String,VoID,String>{    protected String doInBackground(String... arg0) {        //whatever I want to do    }    protected voID onPostExecute(String result) {        Thread.sleep(5*60*1000);        new MyAsyncTask().execute("my String");    }}

但使用此代码会阻止UI 5分钟.我在某处读到了onPostExecute()中的代码在UI线程中执行.这解释了UI被阻止的原因.
但是,如何在不阻止UI的情况下创建AsyncTask的新实例?

有什么建议 ?
谢谢.

解决方法 在onPostExecute中使用此代码.

new Handler().postDelayed(new Runnable() {        @OverrIDe        public voID run() {            new MyAsyncTask().execute("my String");        }    },5*60*1000);
总结

以上是内存溢出为你收集整理的android – 在5分钟的间隙递归启动AsyncTask全部内容,希望文章能够帮你解决android – 在5分钟的间隙后递归地启动AsyncTask所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1123150.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存