(我正在使用Android Studio)……要想知道它是哪张图片,需要进行一点调试。执行以下操作:
-
首先,运行应用程序并允许其崩溃。
-
看看LOGCAT窗口。在那里,您将发现崩溃:
“java.lang.RuntimeException:Canvas:试图绘制太大(137080832字节)的位图。”-在下面,查找“at android.graphics.drawable.BitmapDrawable.draw”,它将有一个可单击的右侧链接。它应该是上面异常文本下显示的第一个可单击链接。单击链接。
-
帆布drawBitmap(位图,null,mDstRect,paint);
在该代码行上设置断点。然后使用“调试应用程序”按钮再次运行应用程序。程序将在上述代码行停止。您需要单击“恢复程序”按钮,并记录在程序崩溃之前您单击该按钮的次数。然后再次在调试模式下运行应用程序,允许其在该行代码上中断,然后单击“恢复程序”按钮,即之前单击按钮的次数减去一次。因此,如果我单击恢复程序按钮4次以到达崩溃,您将希望单击它3次并停止。这将是导致应用程序崩溃的代码的执行时间。
-
这行代码的断点应该被点击,程序停止,准备好做些什么。将鼠标悬停在代码行中的“位图”上:
不要将鼠标悬停在单词“drawBitmap”上,只需将其悬停在“bitmap”这个单词上即可。在包含加号(+)和{Bitmap@####}的代码行下方应该出现一个黄色的小窗口。单击加号。请注意,在显示的第一行文本的最右侧是一个可单击的链接,其内容为“查看位图”。点击该链接,你会看到应用程序正在尝试加载但未能加载的图片。