改变标签是缓慢/滞后 – 使用片段

我有一个使用标签的活动,标签切换片段。 问题在于Fragment在创build时需要几秒钟才能加载,因此切换标签的时间大约为1或2秒。 要解决这个问题,我一直在试图find一种方法来显示一个简单的加载graphics,甚至是一个进度对话框,以便该选项卡立即改变,并显示一些东西指示事情正在加载,直到一切完成。

我的片段的onCreateView方法如下所示:

 FrameLayout fl; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { fl = (FrameLayout) inflater.inflate(R.layout.text_layout, container, false); doHeavyStuff(); return fl; } 

我尝试把doHeavyStuff()放在onStart()但是没有任何帮助。 而线程不会帮助,因为doHeavyStuff()涉及操纵视图/ GUI。

任何想法如何显示片段,并显示“加载”信息, 其他一切都加载?

谢谢!

马特。

Solutions Collecting From Web of "改变标签是缓慢/滞后 – 使用片段"

onActivityCreated()

  • 启动progress bar (或显示UI元素的任何进度)。
  • 执行下面解释的HeavyStuffDoingAsyncTask

HeavyStuffDoingAsyncTask应该有:

  • doHeayStuff()的逻辑不会doInBackground方法中更新ui
  • 每次要更新ui时,请从doInBackground()调用publishProgress()
  • onProgressUpdate方法中实现UI更新逻辑。
  • 停止onPostExecute方法中的进度条。

祝你好运。

尝试设置

 pager.setOffscreenPageLimit(no_of_fragments or pages);