0

在我的应用程序菜单中添加了滑块和水平滑块代码。在拖曳线性布局中的水平布局中,每个都是不同的背景。

如果我将提供相同的背景工作文件。如果我会给不同的后台应用程序变得非常慢。

下面我给出了我的代码和布局。

我的布局代码:

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/relBg"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/img1" >

        <RelativeLayout
            android:id="@+id/relBg"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/img2" >

            <com.application.utils.HorizontalPager
                android:id="@+id/horizontal_pager"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" >


<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/homebg"" >

            <include
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                layout="@layout/homepageview" />
        </LinearLayout>

<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/cal_bg" >

            <include
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                layout="@layout/calendarview" />
        </LinearLayout>

</com.application.utils.HorizontalPager>
      </RelativeLayout>
    </RelativeLayout>

图像大小仅为 40kb。

在这两个使用不同图像的相对布局中,如果我像这样使用这个应用程序会变得非常慢。

我的代码:

LayoutInflater inflater = LayoutInflater.from(this);
        scrollView = (FacebookSlideView) inflater.inflate(R.layout.screen_scroll_with_list_menu, null);
        setContentView(scrollView);

        final Stack stack=new Stack();
        menu = inflater.inflate(R.layout.profile_menu, null);
        app = inflater.inflate(R.layout.homepage, null);

        btnSlide = (Button) app.findViewById(R.id.BtnSlide);
        fadeGray_Rel = (LinearLayout)app.findViewById(R.id.fadeGray_Rel);   
        fadeGray_Rel.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                slideAnimation(scrollView, menu);
            }
        });

如果我使用相同的图像,两个相对布局都可以正常工作,不会变慢。

我的 logcat 详细信息:

11-13 14:37:24.834: I/Choreographer(2605): Skipped 34 frames!  The application may be doing too much work on its main thread.
11-13 14:37:24.838: D/OpenGLRenderer(2605): TextureCache::callback: name, removed size, mSize = 68, 11632640, 13043632
11-13 14:37:24.838: D/OpenGLRenderer(2605): TextureCache::get: create texture(0xb96d2358): name, size, mSize = 75, 1048576, 14092208
11-13 14:37:24.838: D/OpenGLRenderer(2605): TextureCache::callback: name, removed size, mSize = 69, 11632640, 2459568
11-13 14:37:25.078: D/OpenGLRenderer(2605): TextureCache::get: create texture(0xb96fdfa0): name, size, mSize = 76, 11632640, 14092208

谢谢

4

1 回答 1

0

你能解释一下你想用这段代码实现什么吗?从日志看来,您的应用程序消耗了大量资源。如果您提供的布局是完整的,那么我认为您绝对应该选择一些更轻的选项,例如 LinearLayout。

顺便说一句,我注意到您的两个相对布局具有相同的 id,您可能想要更改它。

于 2013-11-13T09:21:06.457 回答