Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android方法onCreate()中的线程在10%的情况下仍然停止UiThread_Android_Multithreading_Ui Thread - Fatal编程技术网

Android方法onCreate()中的线程在10%的情况下仍然停止UiThread

Android方法onCreate()中的线程在10%的情况下仍然停止UiThread,android,multithreading,ui-thread,Android,Multithreading,Ui Thread,这是我应用程序的第一个活动的onCreate方法。它初始化所有小部件,然后启动一个线程从internet加载模型数据。在某些情况下,当网络速度非常慢或没有响应时,initializeModelThread似乎占用了整个CPU,并且不允许onCreate方法完成 在一个案例中,我看到了Log.vTime。。。300毫秒后调用,但屏幕保持黑色约20秒,直到HttpException停止InitializeModelThread。您已经可以看到我将线程的优先级设置为低 在这种情况下使用AsyncTas

这是我应用程序的第一个活动的onCreate方法。它初始化所有小部件,然后启动一个线程从internet加载模型数据。在某些情况下,当网络速度非常慢或没有响应时,initializeModelThread似乎占用了整个CPU,并且不允许onCreate方法完成

在一个案例中,我看到了Log.vTime。。。300毫秒后调用,但屏幕保持黑色约20秒,直到HttpException停止InitializeModelThread。您已经可以看到我将线程的优先级设置为低

在这种情况下使用AsyncTask会有帮助吗?你对这个问题还有其他想法吗

public void onCreate( Bundle savedInstanceState ) {
        super.onCreate(savedInstanceState);

        Long time = System.currentTimeMillis();

        initializeWidgets();

        Thread threadInstance = new Thread(initializeModelThread);
        threadInstance.setPriority(Thread.MIN_PRIORITY);
        threadInstance.start();

        Log.v("Time", "Difference from start " + Long.toString(System.currentTimeMillis() - time));

      }
AsyncTask在这里不会有什么不同

不要在onCreate方法上创建线程,而是在onStart方法上创建线程。

AsyncTask在这里不会有什么不同


不要在onCreate方法上创建线程,而是在onStart方法上创建线程。

问题是我在initializeWidgets中使用了google geo反向编码功能GeoCoder,它从web下载数据。在90%的病例中,这一速度非常快。现在,在将下载转移到AsyncTask之后,再也没有这样的延迟了。问题是,我在initializeWidgets中使用了google地理反向编码功能GeoCoder,它从web下载数据。在90%的病例中,这一速度非常快。现在,在将下载移动到异步任务中之后启动时,再也没有这样的延迟了