Java 在android上实例化画布后,不会发生任何事情
我不知道画布上发生了什么事:Java 在android上实例化画布后,不会发生任何事情,java,android,Java,Android,我不知道画布上发生了什么事: // @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!"); 实例化Can
// @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_并发释放131K,4%释放11360K/11783K,暂停11ms+1ms,总计15ms
D/OpenGLRenderer:TextureCache::callback:name,删除大小,mSize=22338561157696
D/OpenGLRenderer:TextureCache::callback:name,删除大小,mSize=24368641120832
您需要创建另一个具有bmp属性的位图,并将其传递到画布:
Bitmap bmp = BitmapFactory.decodeFile(source);
Bitmap bmOverlay = Bitmap.createBitmap(bmp.getWidth(),bmp.getHeight(),bmp.getConfig());
Canvas canvas = new Canvas(bmOverlay);
但你不会在任何地方通过画布。它将吸引到哪里?另外,您的
位图的大小是多少?也许它太大了。@eCalips我的图像较小,只是为了在emulator上进行测试,我实例化了Canvas以便在需要时使用它的实例,这是问题吗?谢谢你!你确定,第二个Log.d没有打印出来吗?时间流逝之后?若它并没有抛出异常,那个么它必须到达那个点。也许您应该尝试使用调试器来确保成功加载了位图
。@eCalips当您告诉我“它将在哪里绘制?”时,我改为:canvas=new canvas();drawBitmap(bmp,0,0,null);感谢您的支持,给您带来的不便深表歉意(很高兴我能帮助您)