实际上,我正在尝试创建一个包含 n 个多媒体文件的应用程序,其中包括图像和视频。我的应用程序大小约为34MB
,我的资产规模约为60mb
。当我在普通设备中加载应用程序时,我们没有遇到任何问题,但是具有2K resolutions
例如Nexus 6P, HTC, LG
等等,应用程序在进程中间崩溃并出现错误“内存不足”。
我已经用这个生成了错误报告。我也尝试过位图工厂。
同时我正在使用数组方法中的视频。
任何人都可以帮助解决这个问题吗?
致命异常:主进程:com.example.we.appname,PID:9353
java.lang.OutOfMemoryError:无法分配具有 1243880 可用字节和 1214KB 的 1660396 字节分配,直到在 android.graphics 的 android.graphics.BitmapFactory.nativeDecodeAsset(本机方法)的 dalvik.system.VMRuntime.newNonMovableArray(本机方法)处出现 OOM。 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)
我发现的简单解决方案是,
添加hardwareAccelerated
& largeHeap
under application
AndroidManifest.xml
<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">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)