2013-05-15 76 views
1

我有一個應用程序3片段,即時通訊使用pageadapter,所以我使用arraylist加載片段,問題,當我添加Arraylist片段加載所有的片段,之後我加載另一個2片段,在我的nexus 4運行良好,但一些其他硬件較少的手機需要一段時間。在Android市場似乎「加載」,當你移動頁面從頁面,我怎麼能做到這一點? 「創造」只有當人們使用下一個adapater在FragmentpagerAdapter上按需加載片段

public class PagerAdapter extends FragmentPagerAdapter { 

     private final ArrayList<Fragment> mFragments = new ArrayList<Fragment>(); 
     private final ArrayList<String> titulos = new ArrayList<String>(); 

     public PagerAdapter(FragmentManager manager) { 
      super(manager); 
     } 


     public void addFragment(Fragment fragment,String title) { 
      mFragments.add(fragment); 
      titulos.add(title); 
      notifyDataSetChanged(); 
     } 

     @Override 
     public int getCount() { 
      return mFragments.size(); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      return mFragments.get(position); 
     } 

更改爲網頁IM的觀點,這是我如何加載我片段FragmentActivity

mPagerAdapter = new PagerAdapter(getSupportFragmentManager()); 
     mPagerAdapter.addFragment(new Fragment1(),"Phone"); 
     mPagerAdapter.addFragment(new Fragment2(),"info"); 
     mPagerAdapter.addFragment(Fragment3.newInstance() , "none"); 

回答

0

從我瞭解你有問題時,將所有片段加載到沒有太多內存的手機中。解決方案可以將FragmentPageAdapter切換爲FragmentStatePageAdapter。按照Android的FragmentStatePagerAdapter documentation,StatePageAdapter通過在片段未被查看時不將片段保留在內存中而使用更少的內存。

相關問題