[英]android app crashes after starting
I am trying to create an app with a lot of high-res images so that they work on high end devices and low end devices too. 我正在尝试创建一个包含大量高分辨率图像的应用程序,以便它们也可以在高端设备和低端设备上使用。 SInce there are devices nowadays that are phones nowadays coming up with 1080p resolution. 因为当今有一些设备可以提供1080p分辨率的电话。
I am using an AVD with 756MB RAM, 720p screen and My VM heap size is 64MB. 我正在使用具有756MB RAM,720p屏幕的AVD,并且我的VM堆大小为64MB。 My OS is Windows 8. 我的操作系统是Windows 8。
This is my activity file. 这是我的活动文件。 I have not added anything to it for now 我暂时还没有添加任何东西
public class MainActivity extends Activity {
@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.main, menu);
return true;
}
This is the xml file: 这是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/bg"
tools:context=".MainActivity" >
<ImageView
android:id="@+id/head"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:scaleType="fitXY"
android:src="@drawable/head1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:weightSum="6" >
<ImageView
android:id="@+id/logo"
android:layout_width="0dp"
android:layout_height="100dp"
android:src="@drawable/logo21"
android:layout_weight="3" />
<ImageView
android:id="@+id/knob1"
android:layout_width="0dp"
android:layout_height="100dp"
android:src="@drawable/knob1"
android:layout_weight="1" />
<ImageView
android:id="@+id/knob2"
android:layout_width="0dp"
android:layout_height="100dp"
android:src="@drawable/knob2"
android:layout_weight="1" />
<ImageView
android:id="@+id/knob3"
android:layout_width="0dp"
android:layout_height="100dp"
android:src="@drawable/knob3"
android:layout_weight="1" />
</LinearLayout>
<ImageView
android:id="@+id/bottom"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:paddingTop="10dp"
android:src="@drawable/button" />
while running the app i get this message: 在运行应用程序时,我收到以下消息:
"Unfortunately German Laundry has stopped" “不幸的是,德国洗衣店已经停止”
Please help me !! 请帮我 !!
**UPDATE my logcat as requested* * **根据要求更新我的logcat * *
06-30 10:49:42.524: E/Trace(830): error opening trace file: No such file or directory (2) 06-30 10:49:43.063: D/dalvikvm(830): GC_FOR_ALLOC freed 41K, 7% free 2498K/2660K, paused 88ms, total 102ms 06-30 10:49:43.163: I/dalvikvm-heap(830): Grow heap (frag case) to 7.018MB for 4680016-byte allocation 06-30 10:49:43.264: D/dalvikvm(830): GC_FOR_ALLOC freed 2K, 3% free 7066K/7232K, paused 98ms, total 98ms 06-30 10:49:43.393: D/dalvikvm(830): GC_CONCURRENT freed (ImageView.java:120) 06-30 10:49:45.953: I/dalvikvm(830): at android.widget.ImageView.(ImageView.java:110) 06-30 10:49:45.953: I/dalvikvm(830): at java.lang.reflect.Constructor.constructNative(Native Method) 06-30 10:49:45.953: I/dalvikvm(830): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 06-30 10:49:45.963: I/dalvikvm(830): at android.view.LayoutInflater.createView(LayoutInflater.java:587) 06-30 10:49:45.963: I/dalvikvm(830): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 06-30 10:49:45.963: I/dalvikvm(830): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 06-30 10:49:45.963: I/dalvikvm(830): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 06-30 10:49:45.963: I/dalvikvm(830): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 06-30 10:49:45.963: I/dalvikvm(830): at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 06-30 10:49:45.963: I/dalvikvm(830): at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 06-30 10:49:45.963: I/dalvikvm(830): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 06-30 10:49:45.963: I/dalvikvm(830): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 06-30 10:49:45.963: I/dalvikvm(830): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 06-30 10:49:45.963: I/dalvikvm(830): at android.app.Activity.setContentView(Activity.java:1881) 06-30 10:49:45.963: I/dalvikvm(830): at com.example.germanlaundryfinal.MainActivity.onCreate(MainActivity.java:12) 06-30 10:49:45.963: I/dalvikvm(830): at android.app.Activity.performCreate(Activity.java:5104) 06-30 10:49:45.963: I/dalvikvm(830): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 06-30 10:49:45.963: I/dalvikvm(830): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 06-30 10:49:45.963: I/dalvikvm(830): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 06-30 10:49:45.963: I/dalvikvm(830): at android.app.ActivityThread.access$600(ActivityThread.java:141) 06-30 10:49:45.963: I/dalvikvm(830): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 06-30 10:49:45.973: I/dalvikvm(830): at android.os.Handler.dispatchMessage(Handler.java:99) 06-30 10:49:45.973: I/dalvikvm(830): at android.os.Looper.loop(Looper.java:137) 06-30 10:49:45.973: I/dalvikvm(830): at android.app.ActivityThread.main(ActivityThread.java:5041) 06-30 10:49:45.973: I/dalvikvm(830): at java.lang.reflect.Method.invokeNative(Native Method) 06-30 10:49:45.973: I/dalvikvm(830): at java.lang.reflect.Method.invoke(Method.java:511) 06-30 10:49:45.973: I/dalvikvm(830): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 06-30 10:49:45.973: I/dalvikvm(830): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 06-30 10:49:45.973: I/dalvikvm(830): at dalvik.system.NativeStart.main(Native Method) 06-30 10:49:45.973: D/skia(830): --- allocation failed for scaled bitmap 06-30 10:49:45.983: D/AndroidRuntime(830): Shutting down VM 06-30 10:49:45.983: W/dalvikvm(830): threadid=1: thread exiting with uncaught exception (group=0x40a71930) 06-30 10:49:46.043: E/AndroidRuntime(830): FATAL EXCEPTION: main 06-30 10:49:46.043: E/AndroidRuntime(830): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.germanlaundryfinal/com.example.germanlaundryfinal.MainActivity}: android.view.InflateException: Binary XML file line #24: Error inflating class 06-30 10:49:46.043: E/AndroidRuntime(830): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.app.ActivityThread.access$600(ActivityThread.java:141) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.os.Handler.dispatchMessage(Handler.java:99) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.os.Looper.loop(Looper.java:137) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.app.ActivityThread.main(ActivityThread.java:5041) 06-30 10:49:46.043: E/AndroidRuntime(830): at java.lang.reflect.Method.invokeNative(Native Method) 06-30 10:49:46.043: E/AndroidRuntime(830): at java.lang.reflect.Method.invoke(Method.java:511) 06-30 10:49:46.043: E/AndroidRuntime(830): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 06-30 10:49:46.043: E/AndroidRuntime(830): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 06-30 10:49:46.043: E/AndroidRuntime(830): at dalvik.system.NativeStart.main(Native Method) 06-30 10:49:46.043: E/AndroidRuntime(830): Caused by: android.view.InflateException: Binary XML file line #24: Error inflating class 06-30 10:49:46.043: E/AndroidRuntime(830): at android.view.LayoutInflater.createView(LayoutInflater.java:613) 06-30 10:49:46.043: E/AndroidRuntime(830): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 06-30 10:49:46.043: E/AndroidRuntime(830): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.app.Activity.setContentView(Activity.java:1881) 06-30 10:49:46.043: E/AndroidRuntime(830): at com.example.germanlaundryfinal.MainActivity.onCreate(MainActivity.java:12) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.app.Activity.performCreate(Activity.java:5104) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 06-30 10:49:46.043: E/AndroidRuntime(830): ... 11 more 06-30 10:49:46.043: E/AndroidRuntime(830): Caused by: java.lang.reflect.InvocationTargetException 06-30 10:49:46.043: E/AndroidRuntime(830): at java.lang.reflect.Constructor.constructNative(Native Method) 06-30 10:49:46.043: E/AndroidRuntime(830): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.view.LayoutInflater.createView(LayoutInflater.java:587) 06-30 10:49:46.043: E/AndroidRuntime(830): ... 25 more 06-30 10:49:46.043: E/AndroidRuntime(830): Caused by: java.lang.OutOfMemoryError 06-30 10:49:46.043: E/AndroidRuntime(830): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:502) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:355) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:785) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.content.res.Resources.loadDrawable(Resources.java:1965) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.widget.ImageView.(ImageView.java:120) 06-30 10:49:46.043: E/AndroidRuntime(830): at android.widget.ImageView.(ImageView.java:110) 06-30 10:49:46.043: E/AndroidRuntime(830): ... 28 more
You will have to scale the bitmap to make it work properly in the device. 您将不得不缩放位图以使其在设备中正常工作。 See this answer . 看到这个答案 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.