RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 730847
Accepted
Umy
Umy
Asked:2020-10-15 00:42:38 +0000 UTC2020-10-15 00:42:38 +0000 UTC 2020-10-15 00:42:38 +0000 UTC

是什么导致异常?

  • 772
E: FATAL EXCEPTION: main
   Process: *, PID: 22482
   java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@24e46ab
       at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1280)
       at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:257)
       at android.graphics.Canvas.drawBitmap(Canvas.java:1424)
       at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:528)
       at android.widget.ImageView.onDraw(ImageView.java:1316)
       at android.view.View.draw(View.java:17293)
       at android.view.View.updateDisplayListIfDirty(View.java:16275)
       at android.view.View.draw(View.java:17059)
       at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
       at android.view.View.updateDisplayListIfDirty(View.java:16270)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3715)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3695)
       at android.view.View.updateDisplayListIfDirty(View.java:16238)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3715)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3695)
       at android.view.View.updateDisplayListIfDirty(View.java:16238)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3715)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3695)
       at android.view.View.updateDisplayListIfDirty(View.java:16238)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3715)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3695)
       at android.view.View.updateDisplayListIfDirty(View.java:16238)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3715)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3695)
       at android.view.View.updateDisplayListIfDirty(View.java:16238)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3715)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3695)
       at android.view.View.updateDisplayListIfDirty(View.java:16238)
       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3715)
       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3695)
       at android.view.View.updateDisplayListIfDirty(View.java:16238)
       at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:652)
       at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:658)
       at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:766)
       at android.view.ViewRootImpl.draw(ViewRootImpl.java:2834)
       at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2642)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2249)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1280)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6432)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
       at android.view.Choreographer.doCallbacks(Choreographer.java:686)
       at android.view.Choreographer.doFrame(Choreographer.java:621)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
       at android.os.Handler.handleCallback(Handler.java:751)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6374)
       at java.lang.reflect.Method.invoke(Native Method)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
D: App Event: crash

应用程序崩溃,但如何理解导致它崩溃的原因和位置?我用调试器查看,但那里的一切都大致相同,我的应用程序没有单一方法 - 只有标准方法。

java
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Alex78191
    2020-10-15T20:37:29Z2020-10-15T20:37:29Z

    叫他bitmap.recycle()。快速的解决方案是不调用bitmap.recycle();,这对于android >2.3.3不是严格要求的。如果您无论如何都想释放该内存,则需要找到一种方法来检查何时真正不再需要位图(即 Canvas 有机会完成其绘图操作)。

    https://stackoverflow.com/a/31227624/4854931

    if (mBitmap != null && !mBitmap.isRecycled()) {
        mBitmap.recycle();
        mBitmap = null; 
    }
    

    https://stackoverflow.com/a/22129476/4854931

    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5