0

私は、タブホストとアクティビティグループを備えた9つのタブがある1つのアプリケーションに取り組んでいます

9 つのタブでアプリケーションは完全に動作しますが、言語画面に 10 番目のタブを追加すると、ドロップダウン値の変更時にドロップダウンに 7 つの言語が表示されますアプリケーション言語が変更されますが、その後画面を 4 ~ 5 回ナビゲートすると

ここでメモリ不足の例外が発生 します エラー例外です

例外

07-04 13:41:57.941: E/AndroidRuntime(4866): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.view.LayoutInflater.createView(LayoutInflater.java:513)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at com.milagemaster.Activity_setup.onCreate(Activity_setup.java:51)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
07-04 13:41:57.941: E/AndroidRuntime(4866):     ... 31 more
07-04 13:41:57.941: E/AndroidRuntime(4866): Caused by: java.lang.reflect.InvocationTargetException
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.widget.RelativeLayout.<init>(RelativeLayout.java:171)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at java.lang.reflect.Constructor.constructNative(Native Method)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.view.LayoutInflater.createView(LayoutInflater.java:500)
07-04 13:41:57.941: E/AndroidRuntime(4866):     ... 39 more
07-04 13:41:57.941: E/AndroidRuntime(4866): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:447)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:323)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.content.res.Resources.loadDrawable(Resources.java:1705)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.content.res.TypedArray.getDrawable(TypedArray.java:548)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at android.view.View.<init>(View.java:1850)
07-04 13:41:57.941: E/AndroidRuntime(4866):     at 

レイアウト:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/relroot"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/bg"
    android:gravity="top" >

    <LinearLayout
        android:id="@+id/lnrTitle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:orientation="vertical" >

        <com.milagemaster.utility.Header
            android:id="@+id/header"
            android:layout_width="fill_parent"
            android:layout_height="50dp" />

        <RelativeLayout
            android:id="@+id/relativeHome"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/title" >

            <TextView
                android:id="@+id/txtAddData"
                style="@style/TitleTextAppearance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:text="@string/results"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="@color/black" />

            <Button
                android:id="@+id/btnEmail"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:text="Send Mail"
                android:visibility="visible" />
        </RelativeLayout>
    </LinearLayout>

    <FrameLayout
        android:id="@+id/lnrscroll_barsMain"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/lnrTitle"
        android:layout_centerHorizontal="true" >

        <ImageView
            android:id="@+id/imgShadow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/shadow_title" />
    </FrameLayout>

    <ScrollView
        android:id="@+id/scroll_barsMain"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/lnrTitle"
        android:layout_marginBottom="10dp"
        android:fadingEdge="none"
        android:scrollbars="vertical" >

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <RelativeLayout
                android:id="@+id/relativeResult"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_gravity="top" >

                <LinearLayout
                    android:id="@+id/relativetitle"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:layout_marginTop="5dp"
                    android:background="@drawable/top_blue" >

                    <TextView
                        android:id="@+id/txtResultTitle"
                        android:layout_width="80dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="10dp"
                        android:ellipsize="end"
                        android:gravity="center_horizontal"
                        android:text="@string/vehcile"
                        android:textAppearance="?android:attr/textAppearanceMedium"
                        android:textColor="@color/black"
                        android:textSize="16dp" />

                    <Spinner
                        android:id="@+id/spnSelectVehicle"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_marginRight="5dp"
                        android:background="@drawable/dropdown"
                        android:paddingLeft="10dp" />
                </LinearLayout>
                <!--
                     <TextView
                    android:id="@+id/txtResultTitle"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:layout_marginTop="5dp"
                    android:background="@drawable/top_blue"
                    android:gravity="center_vertical|center_horizontal"
                    android:text="your vehicle"
                    android:textColor="@color/black"
                    android:textSize="18dp" />


                -->

                <LinearLayout
                    android:id="@+id/frameresult"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/relativetitle"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:background="@drawable/bg_box"
                    android:orientation="vertical" >

                    <TextView
                        android:id="@+id/txtResult"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="10dp"
                        android:layout_marginTop="10dp"
                        android:gravity="center"
                        android:text=""
                        android:textColor="@color/black"
                        android:textSize="14dp" />

                    <TextView
                        android:id="@+id/txtDate"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="15dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="10dp"
                        android:gravity="center_vertical|center_horizontal"
                        android:text="(mpg/kpl)"
                        android:textColor="@color/mileage1"
                        android:textSize="14dp"
                        android:textStyle="bold" />

                    <LinearLayout
                        android:id="@+id/linearLayout1"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="10dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="10dp"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/txtAvg"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:gravity="center_vertical|center_horizontal"
                            android:text=""
                            android:textColor="@color/mileage1"
                            android:textSize="22sp"
                            android:textStyle="bold"
                            android:visibility="gone" />

                        <TextView
                            android:id="@+id/txtAddFirstTime"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:gravity="center_vertical|center_horizontal"
                            android:text=""
                            android:textColor="@color/gray_text"
                            android:textSize="12dp" />
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/lnrLifeTime"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="10dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="10dp"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/txtResultLifeTime"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="10dp"
                            android:layout_marginRight="10dp"
                            android:gravity="center"
                            android:text=""
                            android:textColor="@color/black"
                            android:textSize="14dp"
                            android:visibility="gone" />

                        <TextView
                            android:id="@+id/txtLifeMileage"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="15dp"
                            android:layout_marginLeft="10dp"
                            android:layout_marginRight="10dp"
                            android:gravity="center_vertical|center_horizontal"
                            android:text="(mpg/kpl)"
                            android:textColor="@color/mileage1"
                            android:textSize="14dp"
                            android:textStyle="bold"
                            android:visibility="gone" />
                    </LinearLayout>
                </LinearLayout>

                <Button
                    android:id="@+id/btnSave"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/frameresult"
                    android:layout_centerHorizontal="true"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:layout_marginTop="15dp"
                    android:background="@drawable/themed_btnlarge"
                    android:text="@string/savelocationasfavorite"
                    android:textSize="16sp" />

                <LinearLayout
                    android:id="@+id/frameButton"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/btnSave"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:layout_marginTop="15dp" android:gravity="center_vertical">

                    <Button
                        android:id="@+id/btnChartMilage"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:background="@drawable/themed_mileagechart"
                        android:text="@string/mileagechart"
                        android:textSize="14dp" />

                    <Button
                        android:id="@+id/btnCostGallons"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:background="@drawable/themed_fuelcost"
                        android:text="Cost/unit Chart"
                        android:textSize="14dp" />

                    <Button
                        android:id="@+id/btnChartFuel"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:background="@drawable/themed_fualpricechart"
                        android:text="@string/fuelchart"
                        android:textSize="14dp" />
                </LinearLayout>

                <Button
                    android:id="@+id/btnShare"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/frameButton"
                    android:layout_centerHorizontal="true"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:layout_marginTop="15dp"
                    android:background="@drawable/themed_btnlarge"
                    android:text="@string/share"
                    android:textSize="16sp" />
            </RelativeLayout>
        </RelativeLayout>
    </ScrollView>

</RelativeLayout>

何か提案をください

4

4 に答える 4

0

活動の再現ではないかと思います。言語を変更するときに注意深く見ると、現在のアクティビティが停止し、Androidは新しい言語で新しいアクティビティを再作成します。画面の向きを変えるのと似ているので、メモリ使用量を管理すれば大丈夫です。次の手順を実行して、メモリリークが発生していないことを確認します。YouTubeのビデオがあります

  • アクティビティがスレッドセーフであることを確認してください
  • 最初のアクティビティが停止したときに、リソースが適切に割り当て解除されているかどうかを確認します
于 2012-07-04T06:25:03.120 に答える
0

この OOME 例外は、ビットマップが原因で発生しています。

bitmap.recycle()ビットマップを使用した後にメソッドを呼び出していますか? ビットマップによって保持されているリソースを解放するため、常にこのメソッドを呼び出す必要があります。

このエラーは、コードのメモリ リークが原因で発生します。あなたはそれを見つける必要があります。Eclipse ソフトウェアの MAT (プラグイン) を使用して、メモリ リークを見つけることができます。

詳細については、私の回答をご覧ください。

これで問題が解決しない場合は、お知らせください。別の解決策を見つけます。

ありがとうございました :)

于 2012-07-04T05:55:46.323 に答える
0

最初にこの例外を調べてCaused by: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown> 、レイアウトの 1 つにエラーがあります.XML

于 2012-07-04T05:57:14.940 に答える