Is my fragment usage correct, seems to be slow on adnroid

Posted by Robertoq on Stack Overflow See other posts from Stack Overflow or by Robertoq
Published on 2012-10-29T10:58:35Z Indexed on 2012/10/29 11:00 UTC
Read the original article Hit count: 306

My app structure is that i have a menu with 5 menu-point om the left side, and the content on the right side.

MainActivity.xml

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

    <fragment
    android:id="@+id/fragmentMenu"
    android:name="com.example.FragmentMenu"
    android:layout_width="@dimen/MenuWidth"
    android:layout_height="match_parent" />

    <LinearLayout
    android:id="@+id/content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android_layout_toRightOf="@+id/fragmentMenu"
    android:orientation="vertical"/>

</RelativeLayout>

MainActivity.java

public class FragmentActivityMain extends FragmentActivity {
    @Override
    protected void onCreate(final Bundle arg0) {
        super.onCreate(arg0);
        setContentView(R.layout.fragment_activity_main);

        FragmentManager fm = getSupportFragmentManager();
        FragmentMenu fragmentMenu = (FragmentMenu) fm.findFragmentById(R.id.fragmentMenu);
        fragmentMenu.init();
    }
}

And certainly I have a FragmenMenu class,

public class FragmentMenu extends ListFragment {

    @Override
    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,    final Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_menu, container, false);
        return view;
    }

    public init() {
         FragmentManager fm = getFragmentManager();
         FragmentTransaction ft = fm.beginTransaction(); 
         FragmentNowListView lw = new FragmentCarListView();
         ft.add(R.id.content, lw);
         ft.commit();
    }

}

The FragmentCarList is a simple list, now with static test data, only five items in a List

My Problem: Slow. I tested the app on my phone (Galaxy S3) and I see white screen when app starting, around 0,5 second and this is the log:

  • 10-29 11:43:44.093: D/dalvikvm(29710): GC_CONCURRENT freed 267K, 5% free 13903K/14535K, paused 10ms+2ms
  • 10-29 11:43:44.133: D/dalvikvm(29710): GC_FOR_ALLOC freed 215K, 6% free 13896K/14663K, paused 12ms
  • 10-29 11:43:44.233: D/dalvikvm(29710): GC_FOR_ALLOC freed 262K, 6% free 13901K/14663K, paused 12ms
  • 10-29 11:43:44.258: D/dalvikvm(29710): GC_FOR_ALLOC freed 212K, 6% free 13897K/14663K, paused 13ms
  • 10-29 11:43:44.278: D/dalvikvm(29710): GC_FOR_ALLOC freed 208K, 6% free 13897K/14663K, paused 12ms
  • 10-29 11:43:44.328: D/dalvikvm(29710): GC_FOR_ALLOC freed 131K, 4% free 14098K/14663K, paused 12ms
  • 10-29 11:43:44.398: D/dalvikvm(29710): GC_CONCURRENT freed 20K, 3% free 14559K/14919K, paused 1ms+4ms

And when I tested on Xperia Ray, the whit screen appear longer time.

How can I optimize my fragments? Thx

© Stack Overflow or respective owner

Related posts about android

Related posts about android-fragments