2016-04-14 5 views
0

Ich habe mich gefragt, warum, wenn ich versuchte, die Anwendung im Emulator auszuführen. Die App funktioniert nicht mehr. Ich hatte gehofft, was der Grund meiner Laufzeitausnahme war. Logcat Error Laufzeit Exception, kann keine Aktivität starten

Dies ist die Kopie meiner vollen logcat:

04-14 02:40:39.904 6836-6836/com.example.jas.emojiexpress E/AndroidRuntime: FATAL EXCEPTION: main 
Process: com.example.jas.emojiexpress, PID: 6836 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jas.emojiexpress/com.example.jas.emojiexpress.HomePage}: android.view.InflateException: Binary XML file line #17: Binary XML file line #2: Error inflating class <unknown> 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
at android.app.ActivityThread.-wrap11(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5417) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
Caused by: android.view.InflateException: Binary XML file line #17: Binary XML file line #2: Error inflating class <unknown> 
at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:257) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 
at com.example.jas.emojiexpress.HomePage.onCreate(HomePage.java:18) 
at android.app.Activity.performCreate(Activity.java:6237) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
at android.app.ActivityThread.-wrap11(ActivityThread.java)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:148)  
at android.app.ActivityThread.main(ActivityThread.java:5417)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown> 
at android.view.LayoutInflater.createView(LayoutInflater.java:645) 
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:941) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:831) 
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:257)  
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)  
at com.example.jas.emojiexpress.HomePage.onCreate(HomePage.java:18)  
at android.app.Activity.performCreate(Activity.java:6237)  
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
at android.app.ActivityThread.-wrap11(ActivityThread.java)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:148)  
at android.app.ActivityThread.main(ActivityThread.java:5417)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
Caused by: java.lang.reflect.InvocationTargetException 
at java.lang.reflect.Constructor.newInstance(Native Method) 
at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)  
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)  
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)  
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:941)  
at android.view.LayoutInflater.rInflate(LayoutInflater.java:831)  
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:257)  
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)  
at com.example.jas.emojiexpress.HomePage.onCreate(HomePage.java:18)  
at android.app.Activity.performCreate(Activity.java:6237)  
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
at android.app.ActivityThread.-wrap11(ActivityThread.java)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:148)  
at android.app.ActivityThread.main(ActivityThread.java:5417)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
Caused by: java.lang.OutOfMemoryError: Failed to allocate a 74649612 byte allocation with 1048576 free bytes and 63MB until OOM 
at dalvik.system.VMRuntime.newNonMovableArray(Native Method) 
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609) 
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444) 
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1080) 
at android.content.res.Resources.loadDrawableForCookie(Resources.java:2635) 
at android.content.res.Resources.loadDrawable(Resources.java:2540) 
at android.content.res.TypedArray.getDrawable(TypedArray.java:870) 
at android.view.View.<init>(View.java:3948) 
at android.view.ViewGroup.<init>(ViewGroup.java:573) 
at android.widget.LinearLayout.<init>(LinearLayout.java:203) 
at android.widget.LinearLayout.<init>(LinearLayout.java:199) 
at android.widget.LinearLayout.<init>(LinearLayout.java:195) 
at java.lang.reflect.Constructor.newInstance(Native Method)  
at android.view.LayoutInflater.createView(LayoutInflater.java:619)  
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)  
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)  
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)  
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:941)  
at android.view.LayoutInflater.rInflate(LayoutInflater.java:831)  
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:257)  
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)  
at com.example.jas.emojiexpress.HomePage.onCreate(HomePage.java:18)  
at android.app.Activity.performCreate(Activity.java:6237)  
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
at android.app.ActivityThread.-wrap11(ActivityThread.java)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:148)  
at android.app.ActivityThread.main(ActivityThread.java:5417)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  

Hier meine HomePage Java ist:

public class HomePage extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_home_page); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    Button Button = (Button) findViewById(R.id.button); 
    Button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      startActivity(new Intent(HomePage.this, ChoicePage.class)); 
     } 
    }); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_home_page, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

}

Hier ist Inhalt meiner homepage.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingLeft="16dp" 
android:paddingRight="16dp" 
android:paddingTop="16dp" 
android:paddingBottom="16dp" 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
android:orientation="vertical" 
android:weightSum="2" 
tools:showIn="@layout/activity_home_page" 
tools:context=".HomePage" 
android:background="@drawable/backgroundnew"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="332dp" 
     android:orientation="vertical" 
     android:weightSum="1"> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="332dp" 
      android:orientation="vertical" 
      android:weightSum="1"> 

     <Button 
      android:background="#FFB6C1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text=" Click This " 
      android:id="@+id/button" 
      android:layout_marginBottom="124dp" 
      android:layout_alignParentBottom="true" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center_horizontal" /> 

    </LinearLayout> 

</LinearLayout> 
+1

Ihre 'LinearLayout's sind abnormal verschachtelt und eingerückt. Das erste "LinearLayout", das im Elternteil verschachtelt ist, enthält nichts und das zweite "LinearLayout" enthält eine Schaltfläche, aber die Einrückungen lassen es anders aussehen. Versuchen Sie, das erste verschachtelte 'LinearLayout' zu entfernen, obwohl ich bezweifle, dass dies Ihr Problem ist. – mithunm93

+0

Kannst du XML von ChoicePage.class posten –

+2

'OutOfMemoryError' - Sieht so aus, als ob das Hintergrundbild, das du für den' LinearLayout' im 'HomePage'-Layout benutzt, zu groß ist. –

Antwort

0

Es sieht so aus kann sein, weil Ihre @drawable/backgroundnew eine zu hohe Pixelauflösung hat. Jemand hat einen ähnlichen Fall gemeldet here.

0

In Ihrem Manifest haben Sie sie mit AppCompat definiert, weil Sie hier AppCompatActivity erweitert haben, also wenn Sie nicht definiert haben, definieren Sie bitte und versuchen Sie, dass ich Ihren Crash löse, wie unten.

android:theme="@style/Theme.AppCompat.Light.NoActionBar" 
1

Caused by: java.lang.OutOfMemoryError: Failed to allocate a 74649612 byte allocation with 1048576 free bytes and 63MB until OOM

Wenn Sie die Caused by: Linien untersuchen, es sieht aus wie die Ursache ein OutOfMemoryError ist, die in BitmapFactory.nativeDecodeAsset() auftreten wird. (Beachten Sie auch die Verweise auf "Nicht genügend Speicher auf einer 74649612-Byte-Zuweisung").

Versuchen Sie, eine sehr große Bilddatei irgendwo in Ihr Layout einzufügen?