Android 加载一个图像时出现内存不足错误
在活动中加载图像时出现OutOfMemory错误。 我有一个活动和一个图像,这就是它。我不明白一张图片怎么会导致这个错误 日志:Android 加载一个图像时出现内存不足错误,android,image,out-of-memory,android-imageview,Android,Image,Out Of Memory,Android Imageview,在活动中加载图像时出现OutOfMemory错误。 我有一个活动和一个图像,这就是它。我不明白一张图片怎么会导致这个错误 日志: java.lang.OutOfMemoryError:无法分配144288012字节的分配,其中包含2126212个可用字节和92MB,直到OOM 位于dalvik.system.VMRuntime.newNonMovableArray(本机方法) 在android.graphics.BitmapFactory.NativeDecodeset(本机方法) 位于andr
java.lang.OutOfMemoryError:无法分配144288012字节的分配,其中包含2126212个可用字节和92MB,直到OOM
位于dalvik.system.VMRuntime.newNonMovableArray(本机方法)
在android.graphics.BitmapFactory.NativeDecodeset(本机方法)
位于android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:620)
位于android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:455)
位于android.graphics.drawable.drawable.createFromResourceStream(drawable.java:1155)
位于android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:720)
位于android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
位于android.content.res.Resources.loadDrawable(Resources.java:858)
位于android.content.res.TypedArray.getDrawable(TypedArray.java:928)
在android.widget.ImageView上(ImageView.java:162)
在android.widget.ImageView上。(ImageView.java:150)
位于android.support.v7.widget.AppCompatImageView。(AppCompatImageView.java:72)
位于android.support.v7.widget.AppCompatImageView。(AppCompatImageView.java:68)
位于android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
在android.support.v7.app.AppCompateDelegateImplV9.createView(AppCompateDelegateImplV9.java:1024)上
在android.support.v7.app.AppCompateDelegateImplV9.onCreateView(AppCompateDelegateImplV9.java:1081)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
在android.view.LayoutInflater.inflate(LayoutInflater.java:518)
在android.view.LayoutInflater.充气(LayoutInflater.java:426)
在android.view.LayoutInflater.inflate(LayoutInflater.java:377)
在android.support.v7.app.AppCompateDelegateImplV9.setContentView(AppCompateDelegateImplV9.java:287)
位于android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at in.snipped.snippedsalons.MainActivity.onCreate(MainActivity.kt:10)
位于android.app.Activity.performCreate(Activity.java:6679)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
位于android.app.ActivityThread.-wrap12(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)上
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6119)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
请在清单应用程序中添加缺少的
<application
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
有两种解决方案可以消除此错误
两种都可以 图像的大小是多少?大约是250kb。您需要检查从资源或图库中选择的可绘制图像的大小。250kb不是很小吗?可能的图像副本只有250kb。这不是那么大是的,你的图像大小应该是50到60 kb左右,而且这个大小会增加应用程序的大小,这不是最好的做法是的,但这是徽标,我需要它,然后使用glide来完成你的任务“不要用安卓系统解决这种问题:largeHeap=“true”,这不是一个解决方案”。
<application
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">