我的应用程序不断停止。这是一个基本的登录页面。附有Logcat代码

问题描述 投票:-1回答:1

2020-02-05 12:56:21.08814966-14991 / com.splash.splashactivityassingment E / eglCodecCommon:glUtilsParamSize:未知参数0x00008cdf 2020-02-05 12:56:21.08914966-14991 / com.splash.splashactivityassingment E / eglCodecCommon:glUtilsParamSize:未知参数0x00008824 2020-02-05 12:56:21.11314966-14966 / com.splash.splashactivityassingment E / AndroidRuntime:致命异常:主要流程:com.splash.splashactivityassingment,PID:14966java.lang.RuntimeException:画布:试图绘制太大的(228614400bytes)位图。在android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260)在android.graphics.Canvas.drawBitmap(Canvas.java:1415)在android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:528)在android.widget.ImageView.onDraw(ImageView.java:1316)在android.view.View.draw(View.java:17185)在android.view.View.updateDisplayListIfDirty(View.java:16167)在android.view.View.draw(View.java:16951)在android.view.ViewGroup.drawChild(ViewGroup.java:3727)在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)在android.view.View.draw(View.java:17188)在android.view.View.updateDisplayListIfDirty(View.java:16167)在android.view.View.draw(View.java:16951)在android.view.ViewGroup.drawChild(ViewGroup.java:3727)在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)在android.view.View.updateDisplayListIfDirty(View.java:16162)在android.view.View.draw(View.java:16951)在android.view.ViewGroup.drawChild(ViewGroup.java:3727)在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)在android.view.View.updateDisplayListIfDirty(View.java:16162)在android.view.View.draw(View.java:16951)在android.view.ViewGroup.drawChild(ViewGroup.java:3727)在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)在android.view.View.updateDisplayListIfDirty(View.java:16162)在android.view.View.draw(View.java:16951)在android.view.ViewGroup.drawChild(ViewGroup.java:3727)在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)在android.view.View.updateDisplayListIfDirty(View.java:16162)在android.view.View.draw(View.java:16951)在android.view.ViewGroup.drawChild(ViewGroup.java:3727)在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)在android.view.View.draw(View.java:17188)在com.android.internal.policy.DecorView.draw(DecorView.java:753)在android.view.View.updateDisplayListIfDirty(View.java:16167)在android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:648)在android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:654)在android.view.ThreadedRenderer.draw(ThreadedRenderer.java:762)在android.view.ViewRootImpl.draw(ViewRootImpl.java:2800)在android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2608)在android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2215)在android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)在android.view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java:6337)在android.view.Choreographer $ CallbackRecord.run(Choreographer.java:874)在android.view.Choreographer.doCallbacks(Choreographer.java:686)在android.view.Choreographer.doFrame(Choreographer.java:621)在android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:860)在android.os.Handler.handleCallback(Handler.java:751)在android.os.Handler.dispatchMessage(Handler.java:95)在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)

android android-layout android-linearlayout
1个回答
1
投票

您试图在低分辨率设备上显示位图,导致崩溃。

Process:com.splash.splashactivityassingment,PID:14966java.lang.RuntimeException:画布:也试图绘制大(228614400bytes)位图

您可以制作多张不同大小(hdpi,xxdpi等)的图像,或仅使用图像加载和缓存库显示图像,例如Glide

ImageView img = findViewById(R.id.image_view);
Glide.with(this)
     .load(ContextCompat.getDrawable(this, R.drawable.image))
     .into(img);
© www.soinside.com 2019 - 2024. All rights reserved.