实际上,我正在尝试创建一个包含大量多媒体文件(包括图像和视频)的应用程序。我的应用程序大小约为34MB,我的资产大小约为60MB。当我在普通设备上加载应用程序时,我们没有遇到任何问题,但是具有2K分辨率(例如Nexus 6P、HTC、LG等)的设备会在过程中崩溃,并显示错误“内存不足”。
我已经生成了这个错误报告。我也尝试过位图工厂。
同时,我正在使用数组方法中的视频。
有人可以帮助解决这个问题吗?
致命异常:主进程:com.example.we.appname,PID:9353 java.lang.OutOfMemoryError:无法分配1660396字节的分配,其中1243880字节是空闲的,直到OOM还剩下1214KB dalvik.system.VMRuntime.newNonMovableArray(Native Method)android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)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.graphics.drawable.AnimationDrawable.inflateChildElements(AnimationDrawable.java:327)android.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:297)android.graphics.drawable.DrawableInflater.inflateFromXml(DrawableInflater.java:130)android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1227)android.graphics.drawable.Drawable.createFromXml(Drawable.java:1200)android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:715)android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)android.content.res.Resources.getDrawable(Resources.java:771)android.content.Context.getDrawable(Context.java:525)android.view.View.setBackgroundResource(View.java:18228)com.example.kq.meettheshps.Score_Card.onCreate(Score_Card.java:58)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(Native Method)com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
有人可以帮助解决这个问题吗?
致命异常:主进程:com.example.we.appname,PID:9353 java.lang.OutOfMemoryError:无法分配1660396字节的分配,其中1243880字节是空闲的,直到OOM还剩下1214KB dalvik.system.VMRuntime.newNonMovableArray(Native Method)android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)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.graphics.drawable.AnimationDrawable.inflateChildElements(AnimationDrawable.java:327)android.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:297)android.graphics.drawable.DrawableInflater.inflateFromXml(DrawableInflater.java:130)android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1227)android.graphics.drawable.Drawable.createFromXml(Drawable.java:1200)android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:715)android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)android.content.res.Resources.getDrawable(Resources.java:771)android.content.Context.getDrawable(Context.java:525)android.view.View.setBackgroundResource(View.java:18228)com.example.kq.meettheshps.Score_Card.onCreate(Score_Card.java:58)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(Native Method)com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)