【发布时间】:2017-01-20 15:03:42
【问题描述】:
我不知道Canvas 发生了什么:
// @param String source
Bitmap bmp = BitmapFactory.decodeFile(source);
Log.i("output", "This message will be printed!");
Canvas canvas = new Canvas(bmp);
Log.i("output", "This message will NOT be printed, canvas stop all!");
实例化Canvas 后,没有打印任何内容,我无法运行任何代码,但应用程序没有关闭。
► 运行(调用后输出):
D/dalvikvm:GC_CONCURRENT 释放 131K,4% 释放 11360K/11783K,暂停 11ms+1ms,总共 15ms
D/OpenGLRenderer: TextureCache::callback: name, 移除大小, mSize = 22, 33856, 1157696
D/OpenGLRenderer: TextureCache::callback: name, 移除大小, mSize = 24, 36864, 1120832
【问题讨论】:
-
但是你不会在任何地方传递画布。它会画在哪里?另外,您的
Bitmap的大小是多少?也许它太大了。 -
@Ekalips 我的图像较小,仅用于在模拟器上进行测试,如果需要,我实例化了 Canvas 以便在需要时使用它的实例,这是问题吗?谢谢你!
-
您确定没有打印第二个 Log.d 吗?时间过去后?如果它没有抛出异常,那么它必须达到那个点。也许您应该尝试使用调试器来确保
Bitmap已成功加载。 -
@Ekalips 你帮我说:“它会在哪里画?”,我改为:canvas = new Canvas(); canvas.drawBitmap(bmp, 0, 0, null);感谢您的支持,不便之处敬请见谅
-
很高兴能帮到你)