我没有执行任何网络操作,比如在我的UI线程中下载图像或媒体。我有一个非常复杂的UI,需要大约8秒来加载,中间会出现黑屏,有没有方法可以优化它,或者在我的第二个活动加载UI时显示某种进度条,并在完成后删除进度。
我不能使用异步任务doInBackground(),因为一切都只是UI --比如用于动态创建LinearLayout子对象的循环,将视图并排放在相对布局上,并根据业务规则对它们进行重新排序。根据业务规则等更改各种图像颜色。
有没有什么方法可以优化这一点并减少加载时间?
发布于 2014-02-11 10:57:20
为什么首先需要如此复杂的布局?如果布局过于复杂,那么就不应该如此。试着找到一个更简单的布局,如果你必须遵循当前的布局,那么我建议一个想法,但不推荐。
这是一个想法,它是基于iOS开发的,当你第一次加载你的活动时,你应该对整个布局(没有任何实际内容,只是布局)进行快照,并显示在布局的顶部。在加载了所有底层布局后,删除顶部的快照并使实际布局可见(所有过程都必须显示加载进度,以避免用户与您的UI交互)。虽然这并不理想,但在您的情况下应该会有所帮助。
https://stackoverflow.com/questions/21691872
复制相似问题