【发布时间】:2017-05-02 05:40:54
【问题描述】:
实际上,我正在尝试创建一个包含 n 个多媒体文件的应用程序,其中包括图像和视频。我的应用程序大小约为34MB,我的资产大小约为60mb。当我在普通设备中加载应用程序时,我们没有遇到任何问题,但是具有2K resolutions 的设备,例如Nexus 6P, HTC, LG 等,应用程序在进程中间崩溃并出现错误“内存不足”。
我已经用这个生成了错误报告。我也尝试过位图工厂。
同时我正在使用数组方法中的视频。
谁能帮忙解决这个问题?
致命异常:主进程:com.example.we.appname,PID:9353
java.lang.OutOfMemoryError: 无法在 dalvik.system.VMRuntime.newNonMovableArray(Native Method) 在 android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 在 dalvik.system.VMRuntime.newNonMovableArray(Native Method) 分配 1660396 字节分配和 1243880 空闲字节和 1214KB .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) at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571) at android.content.res.Resources.loadDrawable(Resources.java:858) at 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.inf android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1227) 的lateFromXml(DrawableInflater.java:130) android.content.res.ResourcesImpl 的android.graphics.drawable.Drawable.createFromXml(Drawable.java:1200) android.content.res.Resources.getDrawable(Resources.java:771) 上 android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571) 上的 .loadDrawableForCookie(ResourcesImpl.java:715)。 getDrawable(Context.java:525) at android.view.View.setBackgroundResource(View.java:18228) at com.example.kq.meettheshps.Score_Card.onCreate(Score_Card.java:58) at 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章tyThread.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)
【问题讨论】:
-
你必须根据屏幕尺寸有效地加载你的位图..看看这个developer.android.com/training/displaying-bitmaps/…