0

直升机,如何在开始新活动时避免黑屏?

我有活动,做互联网相关的工作。

当我有一个缓慢的互联网连接,开始一个新的活动变成黑屏,并在几秒钟后它就会显示出来。

互联网工作是做的AsyncTask。

我如何通过使用例如进度避免这种情况?

+0

检查大部分代码是的onCreate。理想情况下只有静态初始化应该在那里。休息在onStart。如果您的互联网任务需要在屏幕上显示数据,请在onPreExecute中启动指示器。 –

+0

是否有可能在活动之间显示进度条? – ubik

+0

它没有任何意义。进度条附加到活动1或2的视图中。另外,在活动之间切换的时间并不是那么长。延迟和黑屏将因某些需要时间并写入onCreate的操作而到来。尝试打印时间戳作为onCreate的第一行,以查看活动加载的速度以及延迟的时间。 –

回答

0

Android是应该以60fps来更新GUI。 这基本上意味着任何可能需要超过16毫秒的操作都不应该在主GUI线程上执行。

您的活动创造应该是一个很快的过程,依赖于默认值或快速访问数据。任何“长”操作,如网络,数据库和文件系统访问,应该使用工作者线程或AsyncTask异步执行。

看看在Docs

相关问题