Android Studio - java.lang.OutOfMemoryError问题

时间:2016-03-04 14:48:05

标签: android android-studio

我的项目遇到了很大的问题。

我向项目上传了18张照片,从那时起就出现了这个错误。

我尝试寻找解决方案,但它没有帮助。

我找到了dexOptions {           增量真实           javaMaxHeapSize" 4g" }

由于它似乎适用于大多数人,我想知道我是否在正确的位置写了它。

我试图在我的gradle版本上编写它,但它一直在问我插件。

如果有人可以帮助我,我会很高兴。

添加了日志。

java.lang.OutOfMemoryError: Failed to allocate a 111314956 byte allocation with 12232500 free bytes and 78MB 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.widget.ImageView.<init>(ImageView.java:152)
                                                   at android.widget.ImageButton.<init>(ImageButton.java:84)
                                                   at android.widget.ImageButton.<init>(ImageButton.java:80)
                                                   at android.support.v7.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:59)
                                                   at android.support.v7.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:55)
                                                   at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:107)
                                                   at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:938)
                                                   at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:992)
                                                   at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
                                                   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746)
                                                   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
                                                   at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
                                                   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:256)
                                                   at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
                                                   at childernsapp.raz.com.learning.MainActivity.onCreate(MainActivity.java:16)
                                                   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)

我的点击代码我没有完成它因为它一直崩溃

   ImageButton oneBtn= (ImageButton) findViewById(R.id.One);
    oneBtn.setOnClickListener(this);
    ImageButton twoBtn = (ImageButton) findViewById(R.id.Two);
    twoBtn.setOnClickListener(this);
    ImageButton threeBtn = (ImageButton) findViewById(R.id.Three);
    threeBtn.setOnClickListener(this);
    ImageButton fourBtn = (ImageButton) findViewById(R.id.Four);
    fourBtn.setOnClickListener(this);
    ImageButton fiveBtn = (ImageButton) findViewById(R.id.Five);
    fiveBtn.setOnClickListener(this);
    ImageButton sixBtn = (ImageButton) findViewById(R.id.Sixth);
    sixBtn.setOnClickListener(this);
    ImageButton sevenBtn = (ImageButton) findViewById(R.id.Seven);
    sevenBtn.setOnClickListener(this);
    ImageButton eightBtn = (ImageButton) findViewById(R.id.Eight);
    eightBtn.setOnClickListener(this);
    ImageButton nineBtn = (ImageButton) findViewById(R.id.Nine);
    nineBtn.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    ImageView myImg = (ImageView) findViewById(R.id.myNum);

    if (v.getId() == R.id.One)
    {
        myImg.setImageResource(R.drawable.one);
    }

我的XML `

<ImageButton
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:id="@+id/Two"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:src="@drawable/numtwo"
    android:scaleType="fitCenter"
    android:adjustViewBounds="true"
    android:background="#ffffff" />

<ImageButton
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:id="@+id/Three"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:src="@drawable/numthree"
    android:scaleType="fitCenter"
    android:adjustViewBounds="true"
    android:layout_alignBottom="@+id/Two"
    android:background="#ffffff" />

<ImageView
    android:layout_width="200dp"
    android:layout_height="150dp"
    android:id="@+id/myNum"
    android:contentDescription="myImg"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true" />

<ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:id="@+id/Four"
    android:src="@drawable/numfour"
    android:scaleType="fitCenter"
    android:adjustViewBounds="true"
    android:layout_below="@+id/One"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:background="#ffffff" />

<ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:id="@+id/Five"
    android:layout_below="@+id/One"
    android:layout_centerHorizontal="true"
    android:src="@drawable/numfive"
    android:scaleType="fitCenter"
    android:adjustViewBounds="true"
    android:background="#ffffff" />

<ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:id="@+id/Sixth"
    android:layout_alignTop="@+id/Five"
    android:layout_alignLeft="@+id/Three"
    android:layout_alignStart="@+id/Three"
    android:src="@drawable/numsixth"
    android:scaleType="fitCenter"
    android:adjustViewBounds="true"
    android:background="#ffffff" />

<ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:id="@+id/Seven"
    android:layout_above="@+id/myNum"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:src="@drawable/numseven"
    android:scaleType="fitCenter"
    android:adjustViewBounds="true"
    android:background="#ffffff" />

<ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:id="@+id/Eight"
    android:layout_alignBottom="@+id/Seven"
    android:layout_centerHorizontal="true"
    android:src="@drawable/numeight"
    android:scaleType="fitCenter"
    android:adjustViewBounds="true"
    android:background="#ffffff" />

<ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:id="@+id/Nine"
    android:layout_alignTop="@+id/Eight"
    android:layout_alignLeft="@+id/Sixth"
    android:layout_alignStart="@+id/Sixth"
    android:src="@drawable/numnine"
    android:scaleType="fitCenter"
    android:adjustViewBounds="true"
    android:background="#ffffff"/>

`

2 个答案:

答案 0 :(得分:0)

使用此代码

AndroidManifest.xml

机器人:largeHeap = “真” 应用

答案 1 :(得分:0)

ImageButton backpage  = (ImageButton) findViewById(R.id.back);
    backpage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            NavUtils.navigateUpFromSameTask(ArticleFullView.this);
        }
    });

清单

  <activity android:name=".BizForum.ArticleFullView">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".DashBoard.GlobalLinker" />
    </activity>