当我设置壁纸时,我的应用程序崩溃

时间:2016-10-19 15:34:34

标签: android

我本周开始学习Android,并希望在我的主要活动中设置背景,但是当我设置壁纸我的应用程序崩溃的那一刻。这是我的logcat输出。

    10-19 20:44:13.775 12519-12519/com.example.root.newboston E/AndroidRuntime: FATAL EXCEPTION: main
                                                                            Process: com.example.root.newboston, PID: 12519
                                                                            java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.root.newboston/com.example.root.newboston.MainActivity}: android.view.InflateException: Binary XML file line #2: 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 #2: 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:276)
                                                                                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                                                                                at com.example.root.newboston.MainActivity.onCreate(MainActivity.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.createViewFromTag(LayoutInflater.java:704)
                                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
                                                                                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:276) 
                                                                                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                                                at com.example.root.newboston.MainActivity.onCreate(MainActivity.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.createViewFromTag(LayoutInflater.java:704) 
                                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
                                                                                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:276) 
                                                                                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                                                at com.example.root.newboston.MainActivity.onCreate(MainActivity.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 66355212 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.createViewFromTag(LayoutInflater.java:704) 
                                                                                at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
                                                                                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:276) 
                                                                                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                                                at com.example.root.newboston.MainActivity.onCreate(MainActivity.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) 
10-19 20:45:57.468 271-607/system_process E/Surface: getSlotFromBufferLocked: unknown buffer: 0xa2efcbe0
10-19 20:50:45.380 271-291/system_process E/BluetoothAdapter: Bluetooth binder is null
10-19 20:50:45.396 271-291/system_process E/KernelCpuSpeedReader: Failed to read cpu-freq
                                                                  java.io.FileNotFoundException: /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state: open failed: ENOENT (No such file or directory)
                                                                      at libcore.io.IoBridge.open(IoBridge.java:452)
                                                                      at java.io.FileInputStream.<init>(FileInputStream.java:76)
                                                                      at java.io.FileInputStream.<init>(FileInputStream.java:103)
                                                                      at java.io.FileReader.<init>(FileReader.java:66)
                                                                      at com.android.internal.os.KernelCpuSpeedReader.readDelta(KernelCpuSpeedReader.java:49)
                                                                      at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8003)
                                                                      at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1364)
                                                                      at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)
                                                                      at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                      at android.os.Looper.loop(Looper.java:148)
                                                                      at android.os.HandlerThread.run(HandlerThread.java:61)
                                                                      at com.android.server.ServiceThread.run(ServiceThread.java:46)
                                                                      at com.android.server.ServiceThread.run(ServiceThread.java:46) 
10-19 20:50:45.400 271-291/system_process E/KernelUidCpuTimeReader: Failed to read uid_cputime
                                                                    java.io.FileNotFoundException: /proc/uid_cputime/show_uid_stat: open failed: ENOENT (No such file or directory)
                                                                        at libcore.io.IoBridge.open(IoBridge.java:452)
                                                                        at java.io.FileInputStream.<init>(FileInputStream.java:76)
                                                                        at java.io.FileInputStream.<init>(FileInputStream.java:103)
                                                                        at java.io.FileReader.<init>(FileReader.java:66)
                                                                        at com.android.internal.os.KernelUidCpuTimeReader.readDelta(KernelUidCpuTimeReader.java:71)
                                                                        at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8032)
                                                                        at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1364)
                                                                        at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)
                                                                        at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                        at android.os.Looper.loop(Looper.java:148)
                                                                        at android.os.HandlerThread.run(HandlerThread.java:61)
                                                                        at com.android.server.ServiceThread.run(ServiceThread.java:46)
                                                                     Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
                                                                        at libcore.io.Posix.open(Native Method)
                                                                        at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
                                                                        at libcore.io.IoBridge.open(IoBridge.java:438)
                                                                        at java.io.FileInputStream.<init>(FileInputStream.java:76) 
                                                                        at java.io.FileInputStream.<init>(FileInputStream.java:103) 
                                                                        at java.io.FileReader.<init>(FileReader.java:66) 
                                                                        at com.android.internal.os.KernelUidCpuTimeReader.readDelta(KernelUidCpuTimeReader.java:71) 
                                                                        at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8032) 
                                                                        at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1364) 
                                                                        at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125) 
                                                                        at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                        at android.os.Looper.loop(Looper.java:148) 
                                                                        at android.os.HandlerThread.run(HandlerThread.java:61) 
                                                                        at com.android.server.ServiceThread.run(ServiceThread.java:46) 

这是我的activity_main.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"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/road">

    <TextView
        android:id="@+id/counterTV"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/Counter"
        android:textColor="#ffffff"
        android:textSize="45dp" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/inc_button"
        android:id="@+id/incCounter"
        android:layout_gravity="center_vertical"
        android:onClick="counterFunctionality" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/dec_button"
        android:id="@+id/decCounter"
        android:layout_gravity="center_vertical"
        android:onClick="counterFunctionality" />


</LinearLayout>

我在stackoverflow上读了一些其他帖子,帖子提到了一些关于模拟器内存​​不足的内容。 有必要吗?

根据要求,java代码文件是

    package com.example.root.newboston;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    int counter;
    TextView counterTV;
    Button inc,dec;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        counter = 0;
        counterTV = (TextView)findViewById(R.id.counterTV);
        dec = (Button)findViewById(R.id.decCounter);
        inc = (Button)findViewById(R.id.incCounter);

        inc.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                counter++;
                counterTV.setText("Conter : "+counter);
            }
        });
        dec.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                counter--;
                counterTV.setText("Conter : "+counter);
            }
        });
    }

    public void counterFunctionality(View v){
        if(v.getId()==R.id.decCounter){
            counter=counter-1;
            Log.i("LuD","Value of counter"+counter);
            counterTV.setText("Counter : "+counter);
        }
        else if(v.getId()==R.id.incCounter){
            counter=counter+1;
            Log.i("LuD","Value of counter"+counter);
            counterTV.setText("Counter : "+counter);
        }
    }

}

还有一件事,就在我将背景图像更改为尺寸较小的图像时(新图像尺寸为16 kB),早期文件大小为837 kB,现在它不会在模拟器中崩溃

应用程序在模拟器中崩溃,但我认为它应该在具有相当大内存量(如1 GB)的真实设备上正常工作。 我是对的吗?

0 个答案:

没有答案