Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 加载一个图像时出现内存不足错误_Android_Image_Out Of Memory_Android Imageview - Fatal编程技术网

Android 加载一个图像时出现内存不足错误

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

在活动中加载图像时出现OutOfMemory错误。 我有一个活动和一个图像,这就是它。我不明白一张图片怎么会导致这个错误

日志:

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">

有两种解决方案可以消除此错误

  • 压缩图像并根据需要更改分辨率
  • 使用glide加载图像,glide根据图像视图的大小复制该图像

  • 两种都可以

    图像的大小是多少?大约是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">