这是我的应用程序的第一个活动的 onCreate 方法。它初始化所有小部件,然后启动一个线程以从互联网加载模型数据。在某些情况下,当网络真的很慢或没有响应时,"initializeModelThread"
似乎占用了整个 CPU 并且不允许 onCreate Methode 完成。
在一种情况下,我看到它Log.v("Time...)
在 300 毫秒后被调用,但屏幕保持黑色大约 20 秒,直到 HttpException 停止了initalizeModelThread
. 您已经可以看到我将线程的优先级设置为低。
在这种情况下使用 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));
}