进入特定布局时,仿真器运行缓慢

时间:2015-12-09 05:41:20

标签: android xml android-emulator emulation

我不知道我的xml布局有什么问题。每当它意图 AddMoreClaims 活动时,我的模拟器将运行缓慢,有时无响应,如下图所示。

enter image description here

这是logCat消息

12-09 05:05:59.758    2688-2688/? E/RichInputConnection﹕ Unable to connect to the editor to retrieve text.
12-09 05:05:59.758    2688-2688/? W/RichInputConnection﹕ Unable to connect to the editor. Setting caps mode without knowing text.
12-09 05:05:59.760    2688-2688/? I/Choreographer﹕ Skipped 352 frames!  The application may be doing too much work on its main thread.
12-09 05:05:59.783    2688-2710/? W/EGL_emulation﹕ eglSurfaceAttrib not implemented
12-09 05:05:59.784    2688-2710/? W/OpenGLRenderer﹕ Failed to set EGL_SWAP_BEHAVIOR on surface 0xa30bfe80, error=EGL_SUCCESS
12-09 05:06:03.080    2808-2808/? I/Choreographer﹕ Skipped 153 frames!  The application may be doing too much work on its main thread.
12-09 05:06:08.163    2808-2808/? I/Choreographer﹕ Skipped 151 frames!  The application may be doing too much work on its main thread.
12-09 05:06:10.863    2808-2808/? I/Choreographer﹕ Skipped 161 frames!  The application may be doing too much work on its main thread.

XML

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:fillViewport="true"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@mipmap/dark_blue"
        android:weightSum="1">


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Enter Claims Information"
            android:id="@+id/textViewClaims"
            android:paddingTop="30sp"
            android:textSize="20dp"
            android:paddingLeft="15sp"
            android:textColor="@color/white"
            android:layout_weight="0.05" />

        <View
            android:layout_marginLeft="10dp"
            android:layout_width="340sp"
            android:layout_height="2dp"
            android:background="#c0c0c0"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Claims Type : "
            android:paddingTop="20sp"
            android:paddingLeft="15sp"
            android:textSize="17dp"
            android:textColor="@color/white"
            android:id="@+id/textViewClaimsType"
            android:layout_weight="0.05" />

        <Spinner
            android:layout_width="308dp"
            android:layout_marginLeft="10dp"
            android:background="@color/light_gray"
            android:layout_height="48dp"
            android:id="@+id/spinner" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Claims Amount :"
            android:paddingTop="20sp"
            android:paddingLeft="15sp"
            android:textSize="17dp"
            android:textColor="@color/white"
            android:id="@+id/textViewAmount"
            android:layout_weight="0.05" />

        <EditText
            android:layout_width="308dp"
            android:layout_height="wrap_content"
            android:layout_margin="10sp"
            android:background="@drawable/round_corner_square"
            android:id="@+id/editTextAmount"
            android:paddingLeft="20dp"
            android:layout_weight="0.09" />


            <ImageView
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:scaleType="fitXY"
                android:layout_marginTop="20dp"
                android:layout_width="200dp"
                android:layout_height="200dp"
                android:id="@+id/imageView" />


        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add picture"
            android:id="@+id/button"
            android:layout_gravity="center_horizontal"
            android:layout_weight="0.05" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Enter Description"
            android:paddingTop="30sp"
            android:paddingLeft="15sp"
            android:textSize="17dp"
            android:textColor="@color/white"
            android:id="@+id/textView12"
            android:layout_weight="0.05" />

        <EditText
            android:layout_width="308dp"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="@drawable/round_corner_square"
            android:layout_weight="0.12"
            android:paddingLeft="20dp"
            android:paddingBottom="80dp"
            android:layout_x="14dp"
            android:layout_y="146dp"
            android:id="@+id/textDescription" />

        <Button
            android:layout_width="159dp"
            android:layout_height="wrap_content"
            android:text="save"
            android:layout_marginTop="20dp"
            android:id="@+id/button1"
            android:layout_gravity="center_horizontal"
            android:layout_weight="0.05" />


    </LinearLayout>
</ScrollView>

为什么会发生这种情况,我该如何解决?感谢

2 个答案:

答案 0 :(得分:1)

 The application may be doing too much work on its main thread.
  

布局是直接影响Android应用程序的关键部分   用户体验。如果实施不当,您的布局可能会导致   内存饥饿的应用程序与慢UI。 Android SDK包括   帮助您识别布局性能问题的工具   结合这里的课程,你将能够顺利实施   以最小的内存占用滚动接口。

按需加载视图

  

除了在另一个布局中简单地包含一个布局组件外,   您可能希望仅在其包含的布局中显示   需要,在活动运行后的某个时间。本课程将说明如何   您可以通过加载来改善布局的初始化性能   根据需要布局部分。

错误的概念

 <ImageView
            android:layout_gravity="center"
            android:adjustViewBounds="true"
            android:scaleType="fitXY"
            android:layout_marginTop="20dp"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:id="@+id/imageView" />


    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add picture"
        android:id="@+id/button"
        android:layout_gravity="center_horizontal"
        android:layout_weight="0.05" />

在这里你正在使用android:layout_weight,那么。在另一个案例中你设置硬编码高度&amp;宽度,这就是为什么有问题。避免硬编码值。

答案 1 :(得分:0)

这可能是您计算机的性能问题。请尝试使用真实设备。你可以分享你的活动课吗?