Android应用程序意外崩溃

Android App初学者在应用程序无法打开时遇到一些问题。 刚开始与它合作今晚。 eclipse中的代码没有显示错误。 就在我尝试从模拟器运行它时意外关闭。

主要来源 :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

         

错误日志

 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.(View.java:3328) 01-17 08:12:54.493: I/dalvikvm(880): at android.view.View.(View.java:3257) 01-17 08:12:54.493: I/dalvikvm(880): at android.view.ViewGroup.(ViewGroup.java:425) 01-17 08:12:54.493: I/dalvikvm(880): at android.widget.RelativeLayout.(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.(View.java:3328) 01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.View.(View.java:3257) 01-17 08:12:54.563: E/AndroidRuntime(880): at android.view.ViewGroup.(ViewGroup.java:425) 01-17 08:12:54.563: E/AndroidRuntime(880): at android.widget.RelativeLayout.(RelativeLayout.java:210) 01-17 08:12:54.563: E/AndroidRuntime(880): ... 26 more 

你有大的形象

 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; }