2013-01-17 111 views
3

Android应用程序初学者与应用程序无法打开有一些问题。今晚才开始使用它。 eclipse中的代码没有显示错误。正当我尝试从模拟器运行它意外关闭。Android应用程序无法崩溃

主要来源: package com.example.solidshellsecurity;

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.content.Intent; 
import android.net.Uri; 
import android.util.Log; 
import android.view.View; 

public class MainActivity extends Activity { 
    public static final String TAG = "SolidShellSecurity"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

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

    public void processClick(View display) { 
     int id = display.getId(); 
     switch (id) { 
      case (R.id.displayWebsite): 
       Log.i(TAG, "Loading SolidShellSecurity website"); 
       Intent website = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.solidshellsecurity.com")); 
       startActivity(website); 
       break; 
      case (R.id.communityDisplay): 
       Log.i(TAG, "Loading SolidShellSecurity Community"); 
       Intent community = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.community.solidshellsecurity.com")); 
       startActivity(community); 
       break; 
      default: 
       break; 

     } 
    } 

} 

XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/sssbd" 
    tools:context=".MainActivity" > 

    <ImageButton 
     android:id="@+id/displayWebsite" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_marginRight="14dp" 
     android:layout_marginTop="80dp" 
     android:layout_toLeftOf="@+id/multiAutoCompleteTextView1" 
     android:onClick="processClick" 
     android:src="@drawable/ic_launcher" /> 

    <MultiAutoCompleteTextView 
     android:id="@+id/multiAutoCompleteTextView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignTop="@+id/displayWebsite" 
     android:ems="10" 
     android:text="Website" > 

     <requestFocus /> 
    </MultiAutoCompleteTextView> 

    <ImageButton 
     android:id="@+id/communityDisplay" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/displayWebsite" 
     android:layout_below="@+id/displayWebsite" 
     android:layout_marginTop="20dp" 
     android:onClick="processClick" 
     android:src="@drawable/ic_launcher" /> 

    <AutoCompleteTextView 
     android:id="@+id/autoCompleteTextView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBottom="@+id/communityDisplay" 
     android:layout_alignParentRight="true" 
     android:ems="10" 
     android:text="Open Community" /> 

</RelativeLayout> 

错误日志

01-17 08:12:52.383: W/Trace(880): Unexpected value from nativeGetEnabledTags: 0 
01-17 08:12:52.413: W/Trace(880): Unexpected value from nativeGetEnabledTags: 0 
01-17 08:12:52.853: D/dalvikvm(880): GC_FOR_ALLOC freed 47K, 7% free 2514K/2680K, paused 67ms, total 78ms 
01-17 08:12:53.174: I/dalvikvm-heap(880): Grow heap (frag case) to 18.191MB for 16384016-byte allocation 
01-17 08:12:53.274: D/dalvikvm(880): GC_FOR_ALLOC freed 1K, 1% free 18512K/18684K, paused 96ms, total 96ms 
01-17 08:12:53.393: D/dalvikvm(880): GC_CONCURRENT freed <1K, 1% free 18512K/18684K, paused 14ms+20ms, total 119ms 
01-17 08:12:54.433: D/dalvikvm(880): GC_FOR_ALLOC freed <1K, 1% free 18512K/18684K, paused 23ms, total 23ms 
01-17 08:12:54.433: I/dalvikvm-heap(880): Forcing collection of SoftReferences for 36864016-byte allocation 
01-17 08:12:54.483: D/dalvikvm(880): GC_BEFORE_OOM freed 9K, 1% free 18502K/18684K, paused 44ms, total 45ms 
01-17 08:12:54.483: E/dalvikvm-heap(880): Out of memory on a 36864016-byte allocation. 
01-17 08:12:54.483: I/dalvikvm(880): "main" prio=5 tid=1 RUNNABLE 
01-17 08:12:54.483: I/dalvikvm(880): | group="main" sCount=0 dsCount=0 obj=0x40a719a0 self=0x2a00bba8 
01-17 08:12:54.483: I/dalvikvm(880): | sysTid=880 nice=0 sched=0/0 cgrp=apps handle=1073849308 
01-17 08:12:54.483: I/dalvikvm(880): | state=R schedstat=(1580552179 1052425085 177) utm=126 stm=32 core=0 
01-17 08:12:54.483: I/dalvikvm(880): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
01-17 08:12:54.483: I/dalvikvm(880): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:502) 
01-17 08:12:54.493: I/dalvikvm(880): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:355) 
01-17 08:12:54.493: I/dalvikvm(880): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:785) 
01-17 08:12:54.493: I/dalvikvm(880): at android.content.res.Resources.loadDrawable(Resources.java:1965) 
01-17 08:12:54.493: I/dalvikvm(880): at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
01-17 08:12:54.493: I/dalvikvm(880): at android.view.View.<init>(View.java:3328) 
01-17 08:12:54.493: I/dalvikvm(880): at android.view.View.<init>(View.java:3257) 
01-17 08:12:54.493: I/dalvikvm(880): at android.view.ViewGroup.<init>(ViewGroup.java:425) 
01-17 08:12:54.493: I/dalvikvm(880): at android.widget.RelativeLayout.<init>(RelativeLayout.java:210) 
01-17 08:12:54.493: I/dalvikvm(880): at java.lang.reflect.Constructor.constructNative(Native Method) 
01-17 08:12:54.493: I/dalvikvm(880): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
01-17 08:12:54.493: I/dalvikvm(880): at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
01-17 08:12:54.493: I/dalvikvm(880): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
01-17 08:12:54.493: I/dalvikvm(880): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 
01-17 08:12:54.503: I/dalvikvm(880): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
01-17 08:12:54.503: I/dalvikvm(880): at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 
01-17 08:12:54.503: I/dalvikvm(880): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
01-17 08:12:54.503: I/dalvikvm(880): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
01-17 08:12:54.503: I/dalvikvm(880): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 
01-17 08:12:54.503: I/dalvikvm(880): at android.app.Activity.setContentView(Activity.java:1881) 
01-17 08:12:54.503: I/dalvikvm(880): at com.example.solidshellsecurity.MainActivity.onCreate(MainActivity.java:18) 
01-17 08:12:54.503: I/dalvikvm(880): at android.app.Activity.performCreate(Activity.java:5104) 
01-17 08:12:54.503: I/dalvikvm(880): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
01-17 08:12:54.513: I/dalvikvm(880): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
01-17 08:12:54.513: I/dalvikvm(880): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
01-17 08:12:54.513: I/dalvikvm(880): at android.app.ActivityThread.access$600(ActivityThread.java:141) 
01-17 08:12:54.513: I/dalvikvm(880): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
01-17 08:12:54.513: I/dalvikvm(880): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-17 08:12:54.513: I/dalvikvm(880): at android.os.Looper.loop(Looper.java:137) 
01-17 08:12:54.513: I/dalvikvm(880): at android.app.ActivityThread.main(ActivityThread.java:5039) 
01-17 08:12:54.513: I/dalvikvm(880): at java.lang.reflect.Method.invokeNative(Native Method) 
01-17 08:12:54.523: I/dalvikvm(880): at java.lang.reflect.Method.invoke(Method.java:511) 
01-17 08:12:54.523: I/dalvikvm(880): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
01-17 08:12:54.523: I/dalvikvm(880): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
01-17 08:12:54.523: I/dalvikvm(880): at dalvik.system.NativeStart.main(Native Method) 
01-17 08:12:54.523: D/skia(880): --- allocation failed for scaled bitmap 
01-17 08:12:54.533: D/AndroidRuntime(880): Shutting down VM 
01-17 08:12:54.533: W/dalvikvm(880): threadid=1: thread exiting with uncaught exception (group=0x40a70930) 
01-17 08:12:54.563: E/AndroidRuntime(880): FATAL EXCEPTION: main 
01-17 08:12:54.563: E/AndroidRuntime(880): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.solidshellsecurity/com.example.solidshellsecurity.MainActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class android.widget.RelativeLayout 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.app.ActivityThread.access$600(ActivityThread.java:141) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.os.Looper.loop(Looper.java:137) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.app.ActivityThread.main(ActivityThread.java:5039) 
01-17 08:12:54.563: E/AndroidRuntime(880): at java.lang.reflect.Method.invokeNative(Native Method) 
01-17 08:12:54.563: E/AndroidRuntime(880): at java.lang.reflect.Method.invoke(Method.java:511) 
01-17 08:12:54.563: E/AndroidRuntime(880): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
01-17 08:12:54.563: E/AndroidRuntime(880): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
01-17 08:12:54.563: E/AndroidRuntime(880): at dalvik.system.NativeStart.main(Native Method) 
01-17 08:12:54.563: E/AndroidRuntime(880): Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class android.widget.RelativeLayout 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.LayoutInflater.createView(LayoutInflater.java:613) 
01-17 08:12:54.563: E/AndroidRuntime(880): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
01-17 08:12:54.563: E/AndroidRuntime(880): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.app.Activity.setContentView(Activity.java:1881) 
01-17 08:12:54.563: E/AndroidRuntime(880): at com.example.solidshellsecurity.MainActivity.onCreate(MainActivity.java:18) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.app.Activity.performCreate(Activity.java:5104) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
01-17 08:12:54.563: E/AndroidRuntime(880): ... 11 more 
01-17 08:12:54.563: E/AndroidRuntime(880): Caused by: java.lang.reflect.InvocationTargetException 
01-17 08:12:54.563: E/AndroidRuntime(880): at java.lang.reflect.Constructor.constructNative(Native Method) 
01-17 08:12:54.563: E/AndroidRuntime(880): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
01-17 08:12:54.563: E/AndroidRuntime(880): ... 23 more 
01-17 08:12:54.563: E/AndroidRuntime(880): Caused by: java.lang.OutOfMemoryError 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:502) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:355) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:785) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.content.res.Resources.loadDrawable(Resources.java:1965) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.View.<init>(View.java:3328) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.View.<init>(View.java:3257) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.ViewGroup.<init>(ViewGroup.java:425) 
01-17 08:12:54.563: E/AndroidRuntime(880): at android.widget.RelativeLayout.<init>(RelativeLayout.java:210) 
01-17 08:12:54.563: E/AndroidRuntime(880): ... 26 more 
+0

安置自己的表现太 – venkatKA

回答

3

你是有大图像

01-17 08:12:54.563: E/AndroidRuntime(880): Caused by: java.lang.OutOfMemoryError 

这给你造成内存不足的错误 的按比例缩小图片,您可以使用下面的代码片段

public static Bitmap getResizedBitmap(Bitmap image, int newHeight, int newWidth) { 
    int width = image.getWidth(); 
    int height = image.getHeight(); 
    float scaleWidth = ((float) newWidth)/width; 
    float scaleHeight = ((float) newHeight)/height; 
    // create a matrix for the manipulation 
    Matrix matrix = new Matrix(); 
    // resize the bit map 
    matrix.postScale(scaleWidth, scaleHeight); 
    // recreate the new Bitmap 
    Bitmap resizedBitmap = Bitmap.createBitmap(image, 0, 0, width, height, 
      matrix, false); 
    return resizedBitmap; 
} 
+0

感谢。我认为这是问题,但并非100%确定。我正在使用一个公司形象,我们把它放在桌面背景上,并尝试着不做调整大小。我调整它,看看是否有帮助。 – user1986399