title: Screen becomes blank for long time while loading SherlockFragmentActivity with fragments
body: <p>I am implementing jeremyfeinstein sliding menu library. for this I have an activity which extends SherlockFragmentActivity. for this activity I have two fragments one is for left menu and another is for Main screen. Everything is working fine and smooth but still I have a problem that is when my Sliding menu activity starts, it becomes blank for 8-10 seconds. after 8-10 seconds my main screen fragment becomes visible.
  <strong>this is my base class:</strong></p>
  <pre><code>  public class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase {
  
      private SlidingActivityHelper mHelper;
  
      /* (non-Javadoc)
       * @see android.support.v4.app.FragmentActivity#onCreate(android.os.Bundle)
       */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          mHelper = new SlidingActivityHelper(this);
          mHelper.onCreate(savedInstanceState);
      }
  
      /* (non-Javadoc)
       * @see android.app.Activity#onPostCreate(android.os.Bundle)
       */
      @Override
      public void onPostCreate(Bundle savedInstanceState) {
          super.onPostCreate(savedInstanceState);
          mHelper.onPostCreate(savedInstanceState);
      }
  
      /* (non-Javadoc)
       * @see android.app.Activity#findViewById(int)
       */
      @Override
      public View findViewById(int id) {
          View v = super.findViewById(id);
          if (v != null)
              return v;
          return mHelper.findViewById(id);
      }
  
      /* (non-Javadoc)
       * @see android.support.v4.app.FragmentActivity#onSaveInstanceState(android.os.Bundle)
       */
      @Override
      protected void onSaveInstanceState(Bundle outState) {
          super.onSaveInstanceState(outState);
          mHelper.onSaveInstanceState(outState);
      }
  
      /* (non-Javadoc)
       * @see android.app.Activity#setContentView(int)
       */
      @Override
      public void setContentView(int id) {
          setContentView(getLayoutInflater().inflate(id, null));
      }
  
      /* (non-Javadoc)
       * @see android.app.Activity#setContentView(android.view.View)
       */
      @Override
      public void setContentView(View v) {
          setContentView(v, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
      }
  
      /* (non-Javadoc)
       * @see android.app.Activity#setContentView(android.view.View, android.view.ViewGroup.LayoutParams)
       */
      @Override
      public void setContentView(View v, LayoutParams params) {
          super.setContentView(v, params);
          mHelper.registerAboveContentView(v, params);
      }
  
      /* (non-Javadoc)
       * @see com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityBase#setBehindContentView(int)
       */
      public void setBehindContentView(int id) {
          setBehindContentView(getLayoutInflater().inflate(id, null));
      }
  
      /* (non-Javadoc)
       * @see com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityBase#setBehindContentView(android.view.View)
       */
      public void setBehindContentView(View v) {
          setBehindContentView(v, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
      }
  
      /* (non-Javadoc)
       * @see com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityBase#setBehindContentView(android.view.View, android.view.ViewGroup.LayoutParams)
       */
      public void setBehindContentView(View v, LayoutParams params) {
          mHelper.setBehindContentView(v, params);
      }
  
      /* (non-Javadoc)
       * @see com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityBase#getSlidingMenu()
       */
      public SlidingMenu getSlidingMenu() {
          return mHelper.getSlidingMenu();
      }
  
      /* (non-Javadoc)
       * @see com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityBase#toggle()
       */
      public void toggle() {
          mHelper.toggle();
      }
  
      /* (non-Javadoc)
       * @see com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityBase#showAbove()
       */
      public void showContent() {
          mHelper.showContent();
      }
  
      /* (non-Javadoc)
       * @see com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityBase#showBehind()
       */
      public void showMenu() {
          mHelper.showMenu();
      }
  
      /* (non-Javadoc)
       * @see com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityBase#showSecondaryMenu()
       */
      public void showSecondaryMenu() {
          mHelper.showSecondaryMenu();
      }
  
      /* (non-Javadoc)
       * @see com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivityBase#setSlidingActionBarEnabled(boolean)
       */
      public void setSlidingActionBarEnabled(boolean b) {
          mHelper.setSlidingActionBarEnabled(b);
      }
  
      /* (non-Javadoc)
       * @see android.app.Activity#onKeyUp(int, android.view.KeyEvent)
       */
      @Override
      public boolean onKeyUp(int keyCode, KeyEvent event) {
          boolean b = mHelper.onKeyUp(keyCode, event);
          if (b) return b;
          return super.onKeyUp(keyCode, event);
      }
  
  }
  </code></pre>
  <p>Here is my Main activity which loads fragments</p>
  <pre><code>public class SliderMenuMainActivity extends SlidingFragmentActivity
  {
  private Fragment mContent;
      ImageButton btnToggle,refresh;
      String ns = Context.NOTIFICATION_SERVICE;
      public static int msg_count = 0;
      
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          if(obj==null)
              obj=new Progress_Dialog(this);
          obj.setCancelable(false);
          obj.onPreExecute(&quot;MAIN Screen&quot;);
          if (savedInstanceState != null)
              mContent = getSupportFragmentManager().getFragment(savedInstanceState, &quot;mContent&quot;);
          prepareScreen();
      }
  private void prepareScreen()
      {
          setContentView(R.layout.activity_slider_menu_main);
          
          ActionBar ab = getSherlock().getActionBar();
          LayoutInflater li = LayoutInflater.from(this);
          View customView = li.inflate(R.layout.custom_titlebar, null);
          customView.setLayoutParams(new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT ,ActionBar.LayoutParams.MATCH_PARENT));
          ab.setCustomView(customView);
          ab.setDisplayShowHomeEnabled(false);
          ab.setDisplayShowCustomEnabled(true);
  if (findViewById(R.id.menu_frame) == null) 
          {
              setBehindContentView(R.layout.menu_frame);
              getSlidingMenu().setSlidingEnabled(true);
              getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
              // show home as up so we can toggle
              //getSupportActionBar().setDisplayHomeAsUpEnabled(true);
          } 
          else 
          {
              // add a dummy view
              View v = new View(this);
              setBehindContentView(v);
              getSlidingMenu().setSlidingEnabled(false);
              getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
          }
  
          
          if (mContent == null)
              mContent = new MainScreenFragment();    
          
              getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, mContent).commit();
  
          // set the Behind View Fragment
              getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame, new MenuFragment()).commit();
  
          // customize the SlidingMenu
          SlidingMenu sm = getSlidingMenu();
          sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
          sm.setShadowWidthRes(R.dimen.shadow_width);
          sm.setShadowDrawable(R.drawable.shadow);
          sm.setBehindScrollScale(0.25f);
          sm.setFadeDegree(0.25f);
          setSlidingActionBarEnabled(false);
          
      }
  @Override
      public boolean onOptionsItemSelected(MenuItem item) {
          switch (item.getItemId()) {
          case android.R.id.home:
              toggle();
          }
          return super.onOptionsItemSelected(item);
      }
      @Override
      public void onSaveInstanceState(Bundle outState) {
          super.onSaveInstanceState(outState);
          getSupportFragmentManager().putFragment(outState, &quot;mContent&quot;, mContent);
      }
      public void switchContent(final Fragment fragment) {
          mContent = fragment;
          getSupportFragmentManager()
          .beginTransaction()
          .replace(R.id.content_frame, fragment)
          .commit();
          Handler h = new Handler();
          h.postDelayed(new Runnable() {
              public void run() {
                  getSlidingMenu().showContent();
              }
          }, 50);
      }
      
      @Override
      public void onResume()
      {
          super.onResume();
          if(obj!=null)
              obj.onPostExecute();
      }
  }
  </code></pre>
  <p>So please help me with this and show me a way to overcome this problem. thanks in advance.</p>
  <h2>EDIT 1</h2>
  <p>I have placed all the code to the onResume() but it still have same problem. now it is taking about 2 to 3 second to become activity visible.why it is taking this amount of time when I don't have any code into onCreate(). I have removed all the libraries and now I am using only support library(4 and 7) with navigation drawer with same result.</p>