Android Studio: java.lang.OutOfMemoryError
Android Studio: java.lang.OutOfMemoryError
这个问题已经在这里有答案了:
我正在尝试让我的应用在图片按钮被单击时显示不同的视图。这是一个相当简单的应用程序,但我无法测试是否有效,因为我不断收到内存不足的错误。以下是java类
编辑:
我将按钮图像的大小减小了50%,但仍然遇到内存不足的错误。此外,我在Android清单中添加了android:largeHeap=\"true\"。以下是原始文件,但已进行更新。
Dashboard.java
package com.pixel.deloitte.xprizeapplication; import android.graphics.Color; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.Window; import android.widget.TabHost; import android.widget.TextView; import java.io.IOException; public class Dashboard extends AppCompatActivity { //private TabHost tabHost; //private int[] tabs = {R.drawable.dashboardnotclicked,R.drawable.teamreviewnotclicked,R.drawable.teambiosnotclicked,R.drawable.mentornotclicked,R.drawable.schedulenotclicked}; public static class MyUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler { @Override public void uncaughtException(Thread thread, Throwable ex) { if (ex.getClass().equals(OutOfMemoryError.class)) { try { android.os.Debug.dumpHprofData("/sdcard/dump.hprof"); } catch (IOException e) { e.printStackTrace(); } ex.printStackTrace(); } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Thread.currentThread().setDefaultUncaughtExceptionHandler(new MyUncaughtExceptionHandler()); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_dashboard); findViewById(R.id.login).setVisibility(View.VISIBLE); } public void buttonClick(View v){ switch(v.getId()){ case R.id.loginButton: break; case R.id.dashboardbtn: break; case R.id.teamreviewbtn: break; case R.id.teambios: break; case R.id.mentorsbtn: break; case R.id.schedulebtn: break; } } }
以下是我遇到的错误,该错误在setContentView(R.layout.activity_dashboard)处抛出
java.lang.OutOfMemoryError
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.pixel.deloitte.xprizeapplication, PID: 2573 java.lang.OutOfMemoryError at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:587) at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:422) at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840) at android.content.res.Resources.loadDrawable(Resources.java:2115) at android.content.res.TypedArray.getDrawable(TypedArray.java:602) at android.widget.ImageView.(ImageView.java:129) at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:57) at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:53) at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106) at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:1008) at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1067) at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) at android.view.LayoutInflater.rInflate(LayoutInflater.java:756) at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:397) at android.view.LayoutInflater.inflate(LayoutInflater.java:353) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.pixel.deloitte.xprizeapplication.Dashboard.onCreate(Dashboard.java:36) at android.app.Activity.performCreate(Activity.java:5231) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access$800(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method)
以下是
activity_dashboard.xml
这是清单
AndroidManifest.xml
admin 更改状态以发布 2023年5月20日