android.view.InflateException:二进制XML文件中的行#12:错误充气类<未知>错误、文件、InflateException、view

2023-09-12 01:50:48 作者:对先生心动

我收到了SUBJ显示的那种许多错误。这些错误似乎是偶然的,我不能复制它们。从堆栈中我能学到出现我的不同的布局资源,错误的可能。 XML的线也不同。

任何人都可以解释为什么这个错误发生?而我能做些什么来解决这个问题?

堆栈

  ====================================== =======================

com.fsp.android.f产生以下异常:
java.lang.RuntimeException的:无法启动的活动ComponentInfo {com.fsp.android.f / com.life360.android.ui.tour.TourActivity}:android.view.InflateException:二进制XML文件中的行#12:错误充气类&LT ;未知>

 -  -  -  - - 堆栈跟踪  -  -  -  - -
1. android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2649)
2. android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2674)
3. android.app.ActivityThread.access $ 2200(ActivityThread.java:131)
4. android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1975)
5. android.os.Handler.dispatchMessage(Handler.java:99)
6. android.os.Looper.loop(Looper.java:123)
7. android.app.ActivityThread.main(ActivityThread.java:4702)
8. java.lang.reflect.Method.invokeNative(本机方法)
9. java.lang.reflect.Method.invoke(Method.java:521)
10. com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:860)
11. com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
12. dalvik.system.NativeStart.main(本机方法)
-------------------------------

 -  -  -  -  - - 原因  -  -  -  -  - -
android.view.InflateException:二进制XML文件中的行#12:错误充气类<未知>

1. android.view.LayoutInflater.createView(LayoutInflater.java:513)
2. com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
3. android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
4. android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
5. android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
6. android.view.LayoutInflater.inflate(LayoutInflater.java:382)
7. android.view.LayoutInflater.inflate(LayoutInflater.java:320)
8. android.view.LayoutInflater.inflate(LayoutInflater.java:276)
9. com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:208)
10. android.app.Activity.setContentView(Activity.java:1629)
11. com.solvek.sample.ui.BaseActivity.onCreate(BaseActivity.java:23)
12. com.solvek.sample.ui.tour.TourActivity.onCreate(TourActivity.java:161)
13. android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
14. android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2587)
15. android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2674)
16. android.app.ActivityThread.access $ 2200(ActivityThread.java:131)
17. android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1975)
18. android.os.Handler.dispatchMessage(Handler.java:99)
19. android.os.Looper.loop(Looper.java:123)
20. android.app.ActivityThread.main(ActivityThread.java:4702)
21. java.lang.reflect.Method.invokeNative(本机方法)
22. java.lang.reflect.Method.invoke(Method.java:521)
23. com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:860)
24. com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
25. dalvik.system.NativeStart.main(本机方法)
-----------------------------

 -  -  -  -  环境  -  -  -  - 
时间= 2010-12-20上午八点27分35秒
设备= tmobile的/ htc_es preSSO / ES preSSO / ES preSSO:2.1 UPDATE1 / ERE27 / 216830:用户/释放键
使= HTC
模型= T-Mobile的myTouch 3G滑盖
产品= htc_es preSSO
应用= com.fsp.android.f,2.0.9版本(版本1232)
 

下面是XML的结果,在其他XMLS发生然而这样的误差

 < XML版本=1.0编码=UTF-8&GT?;
<合并的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>
    < ViewFlipper安卓layout_gravity =补机器人:ID =@ + ID /鳍的Android:layout_height =FILL_PARENT机器人:layout_width =FILL_PARENT>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_1/>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_2/>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_3/>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_4/>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_5/>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_6/>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_7/>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_8​​/>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_9/>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_10/>
        < ImageView的机器人:scaleType =fitXY机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT机器人:SRC =@可绘制/ tour_11/>
    < / ViewFlipper>

    <的LinearLayout机器人:ID =@ + ID / exit_bar机器人:layout_gravity =顶机器人:layout_width =FILL_PARENT机器人:layout_height =WRAP_CONTENT机器人:背景=@可绘制/ blue_bar机器人:知名度=无形的>
        <按钮机器人:背景=@可绘制/ orange_btn机器人:layout_height =WRAP_CONTENT机器人:layout_width =WRAP_CONTENT机器人:layout_gravity =中心的Andr​​oid版本:TEXTSTYLE =黑体机器人:文字颜色=#000000机器人:则shadowColor =#FFFFFF机器人:shadowRadius =1.6的Andr​​oid版本:shadowDx =1.5的Andr​​oid版本:shadowDy =1.3机器人:ID =@ + ID / exit_tour_btn机器人:文本=退出的Andr​​oid版本:layout_marginLeft = 20dip/>
        < TextView的Andr​​oid版本:layout_height =WRAP_CONTENT机器人:文字颜色=#FFFFFF机器人:layout_gravity =中心的Andr​​oid:layout_width =110dip机器人:layout_marginLeft =20dip机器人:TEXTSIZE =16dip机器人:TEXTSTYLE = 大胆的android:文本=Life360之旅/>

    < / LinearLayout中>

    <按钮样式=@风格/ blueBtn的机器人:文本=继续机器人:layout_marginTop =40dip机器人:ID =@ + ID / continue_btn机器人:知名度=水涨船高的Andr​​oid版本:layout_height =WRAP_CONTENT机器人:layout_width =WRAP_CONTENT机器人:layout_gravity =中心/>

    <的FrameLayout机器人:ID =@ + ID / bottom_bar机器人:layout_gravity =自下而上的android:layout_width =FILL_PARENT机器人:layout_height =WRAP_CONTENT机器人:背景=@可绘制/ blue_bar机器人:知名度=无形的>
        < ImageView的机器人:layout_height =WRAP_CONTENT机器人:layout_width =WRAP_CONTENT机器人:ID =@ + ID /左机器人:layout_gravity =左|中心的Andr​​oid版本:后台=@可绘制/ tour_left机器人:layout_marginLeft =10dip/>
        < ImageView的机器人:layout_height =WRAP_CONTENT机器人:layout_width =WRAP_CONTENT机器人:ID =@ + ID /右机器人:layout_gravity =右|中心的Andr​​oid版本:后台=@可绘制/ tour_right机器人:layout_marginRight =10dip/>
    < /的FrameLayout>
< /合并>
 

解决方案

该充气例外,实际上不是问题,但真正来自于你的布局的另一个更深层次的问题,然后将其包裹在一个InflateException。 一个常见的​​问题是一个不折不扣试图夸大的ImageView的加载绘制资源时,内存异常。如果这种资源的人有很高的像素分辨率,将占用大量的内存,引起那么充气例外。

因此​​,基本上验证你的可绘制的图像的像素分辨率只是必要的最低限度的布局。

Caused by android.view.InflateException Binary XML file line 9 Binary XML...问题记录

I am receiving many errors of kind displayed in the subj. These errors seems to be occasional and I cannot reproduce them. From stack I can learn that such error may occurs for my different layout resources. The line of XML is also varying.

Can anybody explain why this error occurs? And what I can do to fix this problem?

Stack

=============================================================

com.fsp.android.f generated the following exception:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fsp.android.f/com.life360.android.ui.tour.TourActivity}: android.view.InflateException: Binary XML file line #12: Error inflating class <unknown>

--------- Stack trace ---------
1. android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2649)
2. android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2674)
3. android.app.ActivityThread.access$2200(ActivityThread.java:131)
4. android.app.ActivityThread$H.handleMessage(ActivityThread.java:1975)
5. android.os.Handler.dispatchMessage(Handler.java:99)
6. android.os.Looper.loop(Looper.java:123)
7. android.app.ActivityThread.main(ActivityThread.java:4702)
8. java.lang.reflect.Method.invokeNative(Native Method)
9. java.lang.reflect.Method.invoke(Method.java:521)
10. com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
11. com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
12. dalvik.system.NativeStart.main(Native Method)
-------------------------------

----------- Cause -----------
android.view.InflateException: Binary XML file line #12: Error inflating class <unknown>

1. android.view.LayoutInflater.createView(LayoutInflater.java:513)
2. com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
3. android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
4. android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
5. android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
6. android.view.LayoutInflater.inflate(LayoutInflater.java:382)
7. android.view.LayoutInflater.inflate(LayoutInflater.java:320)
8. android.view.LayoutInflater.inflate(LayoutInflater.java:276)
9. com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:208)
10. android.app.Activity.setContentView(Activity.java:1629)
11. com.solvek.sample.ui.BaseActivity.onCreate(BaseActivity.java:23)
12. com.solvek.sample.ui.tour.TourActivity.onCreate(TourActivity.java:161)
13. android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
14. android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2587)
15. android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2674)
16. android.app.ActivityThread.access$2200(ActivityThread.java:131)
17. android.app.ActivityThread$H.handleMessage(ActivityThread.java:1975)
18. android.os.Handler.dispatchMessage(Handler.java:99)
19. android.os.Looper.loop(Looper.java:123)
20. android.app.ActivityThread.main(ActivityThread.java:4702)
21. java.lang.reflect.Method.invokeNative(Native Method)
22. java.lang.reflect.Method.invoke(Method.java:521)
23. com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
24. com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
25. dalvik.system.NativeStart.main(Native Method)
-----------------------------

-------- Environment --------
Time =2010-12-20 08:27:35 AM
Device =tmobile/htc_espresso/espresso/espresso:2.1-update1/ERE27/216830:user/release-keys
Make =HTC
Model =T-Mobile myTouch 3G Slide
Product =htc_espresso
App =com.fsp.android.f, version 2.0.9 (build 1232)

Here is a result of XML, however such error occurs in other xmls

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
    <ViewFlipper android:layout_gravity="fill" android:id="@+id/flipper" android:layout_height="fill_parent" android:layout_width="fill_parent">
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_1"/>
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_2"/>
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_3"/>
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_4"/>
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_5"/>
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_6"/>
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_7"/>
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_8"/>
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_9"/>
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_10"/>
        <ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_11"/>
    </ViewFlipper>

    <LinearLayout android:id="@+id/exit_bar" android:layout_gravity="top" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/blue_bar" android:visibility="invisible">
        <Button android:background="@drawable/orange_btn" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" android:textStyle="bold" android:textColor="#000000" android:shadowColor="#ffffff" android:shadowRadius="1.6" android:shadowDx="1.5" android:shadowDy="1.3" android:id="@+id/exit_tour_btn" android:text="Exit" android:layout_marginLeft="20dip"/>
        <TextView android:layout_height="wrap_content" android:textColor="#ffffff" android:layout_gravity="center" android:layout_width="110dip" android:layout_marginLeft="20dip" android:textSize="16dip" android:textStyle="bold" android:text="Life360 Tour"/>

    </LinearLayout>

    <Button style="@style/BlueBtn" android:text="Continue" android:layout_marginTop="40dip" android:id="@+id/continue_btn" android:visibility="gone" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" />

    <FrameLayout android:id="@+id/bottom_bar" android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/blue_bar" android:visibility="invisible">
        <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/left" android:layout_gravity="left|center" android:background="@drawable/tour_left" android:layout_marginLeft="10dip"/>
        <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/right" android:layout_gravity="right|center" android:background="@drawable/tour_right" android:layout_marginRight="10dip"/>               
    </FrameLayout>
</merge>

解决方案

The inflate exception is not actually the problem, but really comes from another deeper issue in your layout that is then wrapped in an InflateException. A common issue is an out of memory exception when trying to inflate an imageview loading a drawable resource. If one of this resources has a high pixel resolution it would take a lot of memory causing then an inflate exception.

So basically verify that the pixel resolution in your drawables images are just the minimum necessary for your layout.